新手勿喷
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 出来是空白
複数のリストを 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
次のような拡張関数を使用します。
リーリー加算を使用するとより直感的になりますが、パフォーマンスは低下します
リーリーこれはより Python っぽいですか?
リーリー