【问题标题】:What does it "-1" in the loop mean [duplicate]循环中的“-1”是什么意思[重复]
【发布时间】:2021-12-12 00:46:42
【问题描述】:

循环中的“-1”是什么意思

CAPACITY = 10
buffer = [-1 for i in range(CAPACITY)]

【问题讨论】:

  • 不过,这不是一个循环。它被称为“列表理解”

标签: python for-loop


【解决方案1】:

这是列表中将作为列表理解的一部分创建的元素。

>>> l = [-1 for _ in range(5)]
>>> l
[-1, -1, -1, -1, -1]
>>> l[1] = 2
>>> l
[-1, 2, -1, -1, -1]

这个具体的例子也可以写成[-1] * CAPACITY

>>> l = [-1] * 5
>>> l
[-1, -1, -1, -1, -1]
>>> l[1] = 2
>>> l
[-1, 2, -1, -1, -1]

【讨论】:

  • 不是我,但总的来说它不是一回事(我承认,对于不可变对象来说已经足够相似了)
  • @user2390182 但在这种特殊情况下,它的实现完全相同,所以我认为它是相同的东西
【解决方案2】:

这是一个列表推导式 - 展开后相当于:

buffer = []
for i in range(CAPACITY):
    buffer.append(-1)

【讨论】:

    【解决方案3】:

    这是一个列表理解。

    您基本上是在使用 for 循环声明一个大小为 CAPACITY 的列表,该列表的所有元素都将具有 -1 的值。

    如果你print(buffer),你会得到如下输出:

    [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
    

    【讨论】:

      猜你喜欢
      • 2015-05-27
      • 2014-02-18
      • 2017-06-30
      • 1970-01-01
      • 2020-05-30
      • 2010-12-28
      • 1970-01-01
      • 2022-12-16
      • 2020-03-04
      相关资源
      最近更新 更多