Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中更改元组?(如有可能)_Python_Tuples - Fatal编程技术网

如何在Python中更改元组?(如有可能)

如何在Python中更改元组?(如有可能),python,tuples,Python,Tuples,在python中,元组被认为是不可变的。然而,我想知道是否可以通过编辑计算机内存来修改元组。为了编辑计算机的内存,我想我可以反转内置的id函数,以便将新的元组写入内存位置。我对此很好奇,因为出于好奇,我想知道元组是否真的像设计的那样是不可变的。这可能是一个有趣的例子 t = (1, [2]) print(t) try: t[1] += [1] except TypeError as error: print("Error occured", error) finally: print

在python中,元组被认为是不可变的。然而,我想知道是否可以通过编辑计算机内存来修改元组。为了编辑计算机的内存,我想我可以反转内置的id函数,以便将新的元组写入内存位置。我对此很好奇,因为出于好奇,我想知道元组是否真的像设计的那样是不可变的。

这可能是一个有趣的例子

t = (1, [2])
print(t)
try:
  t[1] += [1]
except TypeError as error:
  print("Error occured", error)
finally:
  print(t)
输出:

(1, [2])
Error occured 'tuple' object does not support item assignment
(1, [2, 1])

“如果元组真的像设计的那样是不可变的。”-是的,它们像设计的那样是不可变的。通过破解内存位置来颠覆类型系统不会改变这一点,因为元组不是为该用例设计的,但不要告诉任何人我告诉过你这件事。有趣的文章是关于元组是不可变的,除非它们包含对另一个对象(如列表)的引用——如果你甚至要尝试操纵原始计算机内存,你将陷入一个充满活力的世界pain@DarrylG不,它们仍然是不变的。元组只与其中的对象一样是不可变的。这只是执行t[1]的一种模糊方法。附录1。这不符合问题的精神,元组在这里没有变异