新手勿喷
for i in open (v):
_temp = i.split('-')
self._i= gen.gen(_temp[0], _temp[1])
self._i 中是多个列表[] [] [] 怎样合并成一个
cc = []
for i in open (v):
_temp = i.split('-')
self= gen.gen(_temp[0], _temp[1])
for bbc in self:
cc.append(i)
这样解决的 !!!
怎样把结果赋值给 self._i
self._i = cc
print 出来是空白
大家讲道理2017-04-17 18:03:28
複数のリストを 1 つに結合する場合は、itertools.chain
を使用してそれらを連結するのが最善です。以下は簡単な例です:
あなたの場合:
リーリー以下余談。
@松林さんの方法は実現可能であり、Pythonでは増幅(拡張)操作と一般操作の動作は必ずしも同じではありません。ここでは +
を使用して議論します。
例を見てみましょう:
リーリーこの例から、lst1 + lst2
は新しいリストを生成しますが、lst1 += lst2
は生成しないことがわかります。これは、拡張操作の場合、Python ほとんどの が次のルールに従うためです。
不変型は操作後に新しいオブジェクトを生成し、変数にそのオブジェクトを参照させます
変数タイプは、インプレース操作を使用して、変数が元々参照していたオブジェクト
つまり、lst1 += lst2
は lst1.extend(lst2)
これは、型に __iadd__
(または __imul__
...)__add__
のみを実装するのではなく、実装 __mul__
(または
__iXXX__
を実装していない型の場合、Python は代わりに __XXX__
を呼び出します。これにより確実に新しいオブジェクトが計算されますが、__iXXX__
は元のオブジェクト
つまり、 のほとんど:
不変オブジェクトを更新するのは意味がないため、不変型は実装されません __iXXX__
変更可能な型は実装されます __iXXX__
で更新されます
なぜ私はそのほとんどを強調し続けるのですか?
CPython では str
の増幅演算が最適化されているため、連結する際に str += other
が頻繁に使用されます。Python は
私が回答した質問: Python-QA