使用 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 个数字 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为啥 for 循环不遍历列表中的每个项目?

Python for 循环仅将最后一个列表作为值附加

为每个循环附加到一个新列表

如何使用 SearchBar 和 for 循环返回对象数组

如何使用for循环将返回值分配给变量

使用 Pandas 使用 for 循环写入 Excel CSV