【发布时间】:2009-11-19 19:23:40
【问题描述】:
假设我有一个名为majorPowers 的列表,其中包含这两个列表:
axis=["germany","italy","japan"]
allies=["russia","uk","us"]
我想将这些列表的每个元素插入一个新的mega-list。我目前正在这样做:
>>> temp = []
>>> temp = [ww2.append(t) for t in majorPowers]
>>>ww2
[['germany','italy','japan'],['russia','uk','us']]
如何调整它以不使用temp 并将单个元素插入ww2 而不是列表本身(axis 和allied)。
另外,新的 mega-list 本身是否会被归类为综合列表,或者它的制作过程?
编辑:
请注意我不想这样做:
for a in list1:
for b in a:
c.append(b)
@S.Lott。我明白你的意思。但是,我正在尝试学习 Python 中的一些技巧,而不是我通常做事的标准方式。这只是为了让我对 Python 有更多的了解!
【问题讨论】:
-
您的“我不想做”的解决方案有什么问题? (1) 有效。 (2) 简短而清晰。它有什么问题?
-
python list.extend mean 'for for b in a: c.append(b)'
-
我只是想指出,您使用 append 的列表理解可以写成 ww2 = [axis,allies] 以产生该结果。下面有一些不错的解决方案,但他们没有提到列表展平,这就是你正在做的。如果您在 Google 上搜索“Python list flatten”,那么您应该会遇到一些感兴趣的讨论。