在列表推导式中可以使用time.sleep(n)吗?

2 投票
5 回答
2666 浏览
提问于 2025-04-18 10:33

可以在列表推导式中使用 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]

5 个回答

0

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,因为它们涉及到一些复杂的概念或者错误信息。

比如,当你在写代码时,可能会看到一些提示或者错误信息,这些信息可能并不是很容易理解。这时候,我们可以通过查找资料或者在网上提问来寻求帮助。

在StackOverflow上,很多人会分享他们遇到的问题和解决方案。你可以看到其他程序员是如何解决类似的问题的,这样可以帮助你更好地理解代码的运行方式。

总之,遇到问题时不要着急,慢慢查找资料,向他人请教,最终你会找到解决办法的。

from time import sleep

lista_num = [list(range(1,4)),list(range(4,7)),list(range(7,10))]

[[print(numero) for numero in matriz if sleep(1) is None] for matriz in lista_num]
1

在Python 2中,你不能这样做,因为print不是一个函数。但是在Python 3中,如果你不介意在这个过程中创建一个临时的列表,那是可以的。在Python 2中,你可以定义一个print的函数,然后这样做:

def p(x)
    print x

[(p(i), time.sleep(.2) for i in outside_lights]

这样的话,打印的内容每0.2秒就会出现一次。会创建一个像[(None, None), (None, None),...]这样的列表,并在列表完成后被丢弃。

使用for循环的例子可能是一个更好的选择。(这里的区别在于“可以”和“应该”)

1

在编程中,有时候我们需要处理一些数据,这些数据可能来自不同的地方,比如用户输入、文件或者网络请求。为了让程序能够理解这些数据,我们通常需要将它们转换成一种特定的格式,这样程序才能正确地使用它们。

比如说,如果你从一个网站上获取了一些信息,这些信息可能是以文本的形式存在的。为了让程序能够处理这些文本,我们可能需要把它们转换成数字、日期或者其他类型的数据。这个过程就叫做“数据转换”。

在进行数据转换时,我们需要注意数据的类型,因为不同类型的数据有不同的处理方式。如果我们把一个文本当成数字来处理,程序可能会出错。因此,了解每种数据类型的特点是非常重要的。

总之,数据转换是编程中一个很常见的步骤,它帮助我们把各种各样的数据变得更易于使用和理解。

for i in outside_lights:
    time.sleep(10)
    print i
4

不行,你写的代码可能达不到你想要的效果。

print [some comprehension] 这行代码会直接输出整个列表。我觉得你想要的是每一个单独的项目。要做到这一点,你需要遍历这个列表。可以这样写:

for val in list:
    print val

然后你可以:

for val in [your list comprehension]:
    print val
    time.sleep(n)

这样就能达到你想要的效果。

一般来说,你不能在列表推导式中放入 语句(像 printimport 这些会执行操作的东西)。在这种情况下,你需要用循环来完成你想做的事情。很多人把列表推导式当作循环的简写,但这并不正确。列表推导式只是创建对象的一种简写方式(这也可以通过循环来实现)。

9

如果在列表推导式中使用条件,可以作为一种选择。

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]

撰写回答