是可以把时间。睡觉(n) 在列表理解中?

2024-10-01 02:30:46 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有可能在列表理解中加一个time.sleep(n)来打印列表中的每个项目,每次打印之间都有一个延迟?在

import random, time

outside_lights = ['LED_fgate',
    'LED_rgate',
    'LED_mandoor',
    'LED_garage',
    'LED_garWin',
    'LED_rgb',
    'LED_deckOld',                 
    'LED_deckNew',
    'LED_cleartube',                  
    'LED_cleartube2'
]

random.shuffle(outside_lights, random.random)

print [i for i in outside_lights]

Tags: 项目import列表ledtimesleeprandomrgb
3条回答
for i in outside_lights:
    time.sleep(10)
    print i

不,而且你的密码不会得到你想要的(我怀疑)。在

print [some comprehension]将生成整个列表。我想你想要每件东西。为此,必须循环查看列表。比如:

for val in list:
    print val

然后你可以:

^{pr2}$

为了达到预期的效果。在

一般来说,您不能将statements(做printimport等的事情)放在理解中。在这种情况下,你所做的任何理解都必须作为一个循环来完成。许多人认为理解是循环的速记,但这是不正确的。理解只是对象创建的简写(也可以通过循环实现)

如果列表中的条件理解可以是案例的一个选项。在

import random, time

outside_lights = ['LED_fgate',
    'LED_rgate',
    'LED_mandoor',
    'LED_garage',
    'LED_garWin',
    'LED_rgb',
    'LED_deckOld',                 
    'LED_deckNew',
    'LED_cleartube',                  
    'LED_cleartube2'
]

random.shuffle(outside_lights, random.random)

print [i for i in outside_lights if time.sleep(1) is None]

相关问题 更多 >