以下是安全的吗?

x = [1, 2, 3, 4]
x = [y+5 for y in x]

是否首先评估列表推导,创建新列表,然后将该新列表分配给x? 有人告诉我,在迭代它时更改列表是一个不安全的操作。

===============>>#1 票数:5 已采纳

您在迭代它时没有更改列表,您正在创建一个全新的列表,然后一旦它被评估,您将它绑定到名称x所以一切都是安全的。

===============>>#2 票数:3

是的,这很安全。

正如您所暗示的那样,首先评估右侧,然后将其结果 (一个全新的列表)分配给名称x 你是正确的,在迭代它时更改列表是不安全的,但这不会发生在你的代码示例中,所以不用担心。

  ask by Barry Rosenberg translate from so

未解决问题?本站智能推荐: