python tuple()函数疑问

img


为什么python 的推导式生成tuple进行一次print之后就变成空了
他的指针还在,但是无论如何都只能是指针了

因为 (y for y in range(10)) 得到的不是一个元组

img

img

这是一个生成表达器,他相当于建立了一个临时的环境,在运行后就释放了

该回答引用GPTᴼᴾᴱᴺᴬᴵ
Python中的元组是不可变对象,即一旦创建后就不能修改它的值。因此,当你使用推导式创建一个元组并将其打印出来后,这个元组的值是被创建的,但是你不能修改它。如果你尝试修改它,你将得到一个TypeError。

如果你想在之后使用元组的值,你可以将其赋值给一个变量,然后使用该变量。例如:

my_tuple = tuple(x**2 for x in range(5))
print(my_tuple)

这将生成一个包含前五个自然数的平方的元组,并将其打印出来,但是该元组的值仍然可用于进一步处理。