[英]Concat multiple lists from a list element for element for the sublist
鉴于:
[['A', 'B', 'C'], ['1', '2', '3'], ['Z', 'X']]
有没有一种方法可以在不使用大量 for 语句的情况下为每个索引 1 到 1 而不是 1 到多个连接列表中列表中的每个元素? output 是一个以每个串联作为其元素的列表吗?
预期 output:
['A1Z','B2X', 'C3']
我们希望将zip
列表放在一起。 但是如果列表的长度不同,我们需要填充它们。 itertools.zip_longest
可以帮助我们:
from itertools import zip_longest
xss = [['A', 'B', 'C'], ['1', '2', '3'], ['Z', 'X']]
result = ["".join(xs) for xs in zip_longest(*xss, fillvalue="")]
这使:
>>> result
['A1Z', 'B2X', 'C3']
适合初学者的解决方案
s = [['A', 'B', 'C'], ['1', '2', '3'],['Z', 'X']]
f = []
n = 0
while n != len(s):
t = ''
for i in s:
try: t = t + i[n]
except IndexError: pass
f.append(t)
n = n + 1
print(f)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.