a = ["1", "2", "3"]
b = ["a", "b", "c", "d", "e"]
desired_output = ["1a", "2b", "3c", "1d", "2e"]
大家好,我想将a
和b
合并到一个新列表中,其中b
可以是任意长度,但是我只想循环浏览{{1 }}。
(注:我尝试使用a
,其中zip_longest
到列表fillvalue=cycle
...但这是正确的方法吗?)
提示? 谢谢。 丹。
答案 0 :(得分:1)
尝试这个:
from itertools
a = ["1", "2", "3"]
b = ["a", "b", "c", "d", "e"]
[x + y for x, y in zip(itertools.cycle(a), b)]
答案 1 :(得分:0)
您将要使用一些模块化算法来包装较短列表的索引,直到完成所需的次数以匹配较长列表的长度为止。
a = ['1','2','3']
b = ['a','b','c','d','e']
desired_output = []
for i in range(len(b)):
a_index = i % len(a)
index = a_index + i
val = a[a_index] + b[i]
desired_output.append(val)
更为紧凑的是,您可以使用列表推导。
desired_output = [a[i % len(a)] + b[i] for i in range(len(b))]