将列表理解分配给原始列表是否安全?

Bar*_*erg 5 python list-comprehension

以下是安全的吗?

x = [1, 2, 3, 4]
x = [y+5 for y in x]
Run Code Online (Sandbox Code Playgroud)

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

jam*_*lak 5

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