a = ["1", "2", "3"]
b = ["a", "b", "c", "d", "e"]
desired_output = ["1a", "2b", "3c", "1d", "2e"]
大家好,我想把a
和b
组合成一个新的列表,其中b
可以是任何长度,但我只想循环使用a
的排序值。
(注意:我试过使用zip_longest
,其中fillvalue=cycle
通过列表a
……但这是正确的方法吗?(
小贴士?谢谢丹。
试试这个:
from itertools
a = ["1", "2", "3"]
b = ["a", "b", "c", "d", "e"]
[x + y for x, y in zip(itertools.cycle(a), b)]
您将需要使用一些模块化算法来包装较短列表的索引,直到根据需要多次包装以匹配较长列表的长度。
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))]