1

a=["cypatlyrm","aolsemone","nueeleuap"]

需要的 o/p 是:canyoupleasetellmeyournamep

我努力了

for i in range(len(a)):
    for j in range(len(a)):
        res+=a[j][i]

它给出 o/p : canyouple

如何获得完整的输出?

4

1 回答 1

1

您可以将itertools.zip_longest填充值用作空字符串''itertools.chainjoin使用结果来获得您想要的结果。

from itertools import zip_longest, chain

seq = ["cypatlyrm", "aolsemone", "nueeleuap"]

res = ''.join(chain.from_iterable(zip_longest(*seq, fillvalue='')))
print(res)

输出

canyoupleasetellmeyournamep

使用zip_longest确保这也适用于元素大小不相等的情况。如果列表中的所有元素都保证长度相同,那么法线zip也可以工作。

如果所有元素都具有相同的长度,那么您可以使用这种不需要必须导入库的方法。

seq = ["cypatlyrm", "aolsemone", "nueeleuap"]
res = ''

for i in range(len(seq[0])):
    for j in seq:
        res += j[i]

print(res)
于 2021-09-25T10:58:17.153 回答