使用 for 返回列表 10 次。我希望在每个循环中按顺序在屏幕上打印 2 个数字 [关闭]
Posted
技术标签:
【中文标题】使用 for 返回列表 10 次。我希望在每个循环中按顺序在屏幕上打印 2 个数字 [关闭]【英文标题】:return list 10 times with for. I want 2 numbers to be printed on the screen in each cycle in order [closed] 【发布时间】:2020-09-09 04:19:37 【问题描述】:我有一个地方可以闲逛。我有一个清单。
a = [0,1,2,3,4,5,6]
我想用 for 返回这个列表 10 次。我希望在每个循环中按顺序在屏幕上打印 2 个数字。我希望示例输出为:
0 - 1
2 - 3
4 - 5
6 - 0
1 - 2
3 - 4
5 - 6
0 - 1
2 - 3
4 - 5
我应该为这样的输出编写什么代码?如果你回答我会很高兴。 干得好。
【问题讨论】:
你的输出不是列表的10倍a
我的列表会是这样的吗? a=["a","b","c","d","e","f","g"]
【参考方案1】:
如果要循环列表元素,可以使用itertools.cycle
。我们可以在每次迭代中调用next
两次,以一次从迭代器中获取两个数字。
from itertools import cycle
a = cycle([0,1,2,3,4,5,6])
for _ in range(10):
print(f"next(a) - next(a)")
输出:
0 - 1
2 - 3
4 - 5
6 - 0
1 - 2
3 - 4
5 - 6
0 - 1
2 - 3
4 - 5
【讨论】:
【参考方案2】:请记住,通常您必须使用 enumerate(a)
,此示例仅适用于您的列表项也可用于索引。
for x in range(10): #Repeats 10 times
for i in a[::2]: #Iterates every other item from list
if i != 6: #To prevent Index error
print(" - ".format(a[i], a[i + 1])) #Prints output
示例输出:
0 - 1
1 - 2
2 - 3
3 - 4
4 - 5
5 - 6
...
【讨论】:
以上是关于使用 for 返回列表 10 次。我希望在每个循环中按顺序在屏幕上打印 2 个数字 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章