以下語句在Python中意味着什麼?Python:「範圍(酒吧)我的foo()」是什麼意思?
randrange(10**10) for i in range(100)
我知道,randrange
是一個隨機數發生器,但不能真正做出來的語句的效果。
以下語句在Python中意味着什麼?Python:「範圍(酒吧)我的foo()」是什麼意思?
randrange(10**10) for i in range(100)
我知道,randrange
是一個隨機數發生器,但不能真正做出來的語句的效果。
您發佈它的方式,它是一個SyntaxError
。
但我想這個陳述是在[]
之內。然後它是一個list comprehension它創建一個包含100個隨機數的列表。它相當於下面的代碼:
whatever = []
for i in range(100):
whatever.append(randrange(10**10))
如果代碼是內部()
而不是[]
這將是一個generator expression,即一個迭代,其項目不立即但根據需要創建。
它本身就是一個語法錯誤。在括號括起來,這是一個generator expression:
(randrange(10**10) for i in range(100))
返回一個生成器,將產生的100個呼叫的結果randrange(10**10)
,一次一個。
內方括號,這是一個list comprehension:
[randrange(10**10) for i in range(100)]
返回100號從每個randrange(10**10)
通話產生的列表。
生成器表達式對列表理解的優勢在於它是懶惰地評估的,因此您不必構造整個列表並將其保留在內存中(這與特大型,可能無限的生成器尤其相關)。
這是在一個[]所以我想它的列表理解.. – KodeSeeker