【发布时间】:2019-08-05 07:19:55
【问题描述】:
我有一长串如下所示的子列表: [[A,B,C,D],[A,B,C,D],[A,B,C,D]]。
我想要做的是将所有 A 列表连接在一起,将所有 B 列表连接在一起,等等......
我找到了一种方法,但它不是很优雅,而且当列表变得很长时,它一点也不优雅。所以我想知道是否有解决这个问题的实用方法。
我已尝试通过列表编制索引。这很好用,但正如我上面提到的,我的解决方案(如下所示)不适合长列表。 我尝试使用 mod (%) 运算符进行索引,但这不起作用,因为我的列表中有索引 2 和 4,这将在 4 处为 bot 生成 0,例如
self.Input_full = [[listA],[listB],[listC],[listD],[listA],etc...]
for sublist in self.Input_full:
for list in sublist:
if sublist.index(list) == 0 or sublist.index(list) == 4 or sublist.index(list) == 8:
self.X_sent.append(list)
elif sublist.index(list) == 1 or sublist.index(list) == 5 or sublist.index(list) == 9:
self.Y_sent.append(list)
elif sublist.index(list) == 2 or sublist.index(list) == 6 or sublist.index(list) == 10:
self.Ang_sent.append(list)
else:
self.T_sent.append(list)
所需的输出是得到一个包含所有列表 A 的列表,一个包含所有列表 B 的列表,等等......
【问题讨论】:
-
“我想做的是将所有 A 列表连接在一起,将所有 B 列表连接在一起,等等......” 目前还不清楚你真正想要做什么。如果您可以提供您正在寻找的特定输出以及输入,那么有人可能知道如何到达那里。
-
您可以使用itertools.chain.from_iterable。 Here的详细解释。