【发布时间】:2022-11-01 22:49:55
【问题描述】:
circle_elem = ['abcde', 'fghij', 'klmno', 'pqrst', 'uvwxy']
我想同时循环/旋转上述列表中的每个元素 就像是:
circle_elem = ['bcdea', 'ghijf', 'lmnok', 'qrstp', 'vwxyu']
circle_elem = ['cdeab', 'hijfg', 'mnokl', 'rstpq', 'wxyuv']
#etc...........
每个元素的长度总是相同的 #BONUS:最好让循环以不同的速度移动(即确定每个元素循环的步数或等待/睡眠时间等)
我试过了:
new_cycled_list = circular_shifts(circle_elem)
print(new_cycled_list) ##but its rotating the entire list
# and
for i in cycle(circle_elem): #but its rotating the entire list
print(i)
for ii in itertools.product(circle_elem): #this doesnt iterate all elemens separately
print(ii)
非常欢迎任何更好的方法来实现上述目标。
【问题讨论】:
-
您是否尝试过列表理解来单独循环每个元素?
new_cycled_list = [(circular_shifts(elem) for elem in circle_elem](注意,这会构建一个新列表,也可能不是您想要的) -
如果您的代码有效,但您正在寻求改进建议,您不妨试试codereview.stackexchange.com。
标签: python