繁体   English   中英

从列表元素为子列表的元素连接多个列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM