问题描述
说它们用于字典,但是这个例子呢?
resp = {
requests.get('http://localhost:8000')
for i in range(20)
}
取自(实际上它使用[]
,但它也适用于{}
)。
这是什么意思,为什么这个循环是颠倒的?
1楼
花括号也用于集合。
这是一套修真。
它创建了一组 20 个requests.get
对象,仅保留唯一的对象。
如果您使用[]
而不是{}
它是一个列表理解。
它们很相似,但有两个不同之处
- 列表已排序
- 列表可以有重复的元素
另外,正如您所提到的,这是提出请求的一种糟糕方式。 推导应该用于创建列表/集合,而不是作为副产品调用许多命令。 在这种情况下,一个简单的 for 循环更好,它使意图更清晰。