pat*_*250 3 python iterator list
我有一定长度的list1和一定长度的list2。比方说:
list1 = [32, 345, 76, 54]
list2 = [43, 65, 76, 23, 12, 23, 44]
Run Code Online (Sandbox Code Playgroud)
我需要使list1循环返回,直到它的长度与list2相同。或者,如果list1更长,我需要将其缩减为list2的长度。对于上面的示例,我正在寻找:
list1 = [32, 345, 76, 54, 32, 345, 76]
Run Code Online (Sandbox Code Playgroud)
它不一定必须保留在list1中。它可以是一个新列表,我只需要将list1中的相同值循环回一定次数即可。我该怎么做呢?我是python的新手,但是我找不到任何有效的工具。
了解精彩的itertools模块!
from itertools import cycle, islice
result = list(islice(cycle(list1), len(list2)))
Run Code Online (Sandbox Code Playgroud)
如果您只需要“一起”遍历两个列表,这将更加容易:
for x, y in zip(cycle(list1), list2):
print(x, y)
Run Code Online (Sandbox Code Playgroud)