Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在加载屏幕的每个循环中返回列表的下一个元素_Python_List - Fatal编程技术网

Python 在加载屏幕的每个循环中返回列表的下一个元素

Python 在加载屏幕的每个循环中返回列表的下一个元素,python,list,Python,List,我想制作一个加载屏幕,在这个屏幕上,它每秒钟打印一张a、b或c,替换上一张,然后重新开始。这是我试过的,但不起作用。它每秒钟只打印一次: 从时间上导入睡眠 对于范围10中的i: 睡眠1 PrintNextite['\ra','\rb','\rc'],end='' 您将在每次迭代中重新创建生成器。您可以使用此处在发电机周围继续循环: from itertools import cycle from time import sleep l = cycle(['\ra', '\rb', '\rc']

我想制作一个加载屏幕,在这个屏幕上,它每秒钟打印一张a、b或c,替换上一张,然后重新开始。这是我试过的,但不起作用。它每秒钟只打印一次:

从时间上导入睡眠 对于范围10中的i: 睡眠1 PrintNextite['\ra','\rb','\rc'],end=''
您将在每次迭代中重新创建生成器。您可以使用此处在发电机周围继续循环:

from itertools import cycle
from time import sleep

l = cycle(['\ra', '\rb', '\rc'])
for i in range(10):
    sleep(1)
    print(next(l), end=' ')

您将在每次迭代中重新创建生成器。您可以使用此处在发电机周围继续循环:

from itertools import cycle
from time import sleep

l = cycle(['\ra', '\rb', '\rc'])
for i in range(10):
    sleep(1)
    print(next(l), end=' ')

您需要在循环之外创建对象,否则它将在每秒钟重新创建一次,因此您总是只获得第一个元素:

import itertools
from time import sleep

progress = itertools.cycle(['\ra', '\rb', '\rc'])

for i in range(10):
    sleep(1)
    print(next(progress), end=' ')

您可以也可能应该像我在这里所做的那样使用,使选项仅在列表结束时循环返回开始。

您需要在循环之外创建对象,否则它将在每秒钟重新创建,因此您始终只获得第一个元素:

import itertools
from time import sleep

progress = itertools.cycle(['\ra', '\rb', '\rc'])

for i in range(10):
    sleep(1)
    print(next(progress), end=' ')

您可以也可能应该像我在这里所做的那样使用,使选项在列表结束时循环返回开始。

它只打印a,因为您每次打印时都在生成一个新的迭代器。它只打印a,因为您每次打印时都在生成一个新的迭代器。对于itertools.islicel中的x,10:printx等,对于itertools.islicel中的x,10:printx等。这就够了,谢谢。或者,是否有可能不使用Itertools?有没有一种简单的Python方法可以反复浏览列表?@NicolasGervais itertools非常简单,您可能应该使用它。但如果你想学习,你可以随时检查我答案中的链接,并将其作为指导原则,自己重新实施循环:我想我会通过;这就够了,谢谢。或者,是否有可能不使用Itertools?有没有一种简单的Python方法可以反复浏览列表?@NicolasGervais itertools非常简单,您可能应该使用它。但如果你想学习,你可以随时检查我答案中的链接,并将其作为指导原则,自己重新实施循环:我想我会通过;