新手勿喷
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 出来是空白
Si vous souhaitez fusionner plusieurs listes en une seule, il est préférable d'utiliser
.itertools.chain
pour les concaténer. Ce qui suit est un exemple simple :Pour votre cas :
La digression suivante.
La méthode de @松林 est réalisable, et les performances ne sont pas mauvaises. En python, le comportement de l'opération d'amplification (améliorée) et du opération générale ne sont pas forcément exactement les mêmes, ici, nous utilisons
pour discuter.
Regardons un exemple :
À partir de cet exemple, nous pouvons constater que
lst1 lst2
générera une nouvelle liste, maislst1 = lst2
ne le fera pas, car pour l'opération d'expansion, Python la plupart des suivront les règles suivantes :Le type immuable générera un nouvel objet après l'opération, et laissera les variables se référer à l'objet
Les types de variables utiliseront des opérations sur place pour développer ou mettre à jour l'objet
En d'autres termes,
lst1 = lst2
équivaut àlst1.extend(lst2)
Cela dépend si le type a une implémentation
__iadd__
(ou__imul__
...) au lieu de seulement implémenter__add__
(ou__mul__
...)Pour les types qui n'implémentent pas
en place.__iXXX__
, Python appellera__XXX__
à la place, ce qui calculera certainement un nouvel objet, mais__iXXX__
mettra à jour l'objet d'origineC'est-à-dire La plupart des :
Les types immuables ne seront pas implémentés
__iXXX__
car cela n'a aucun sens de mettre à jour un objet immuableLes types mutables seront implémentés
__iXXX__
pour être mis à jour sur placePourquoi est-ce que je continue à insister sur la majeure partie ?
Étant donné que l'opération d'amplification de
.str
est optimisée dans CPython,str = other
est trop couramment utilisée lors de la concaténation, Python ne copiera pas la chaîne à chaque foisQuestions auxquelles j'ai répondu : Python-QA
Utilisez la fonction d'extension, telle que :
L'utilisation de l'addition sera plus intuitive, mais les performances seront moins bonnes
Est-ce plus pythonique ?