gpt4 book ai didi

python - 元组 : TypeError yet success 中的变异列表

转载 作者:太空宇宙 更新时间:2023-11-04 04:06:19 24 4
gpt4 key购买 nike

<分区>

这个例子取自this 15:30 的视频:

x = 1, [2], 3
x[1] += [20]

出于某种原因,这会发出一个 TypeError('tuple' 对象不支持项目分配),但现在成功了

print(x)  # (1, [2, 20], 3)

即如果您在 repl 中执行上述操作,它就可以正常工作。要在脚本中看到相同的效果,请使用

x = 1, [2], 3
try:
x[1] += [20]
except TypeError as e:
print(e)
print(x)

如何解释这种行为?就好像列表对象本身首先发生了变异(成功),然后然后尝试将此列表重新分配给“名称”x[1],然后抛出异常。但是,为什么 Python 会尝试对可变类型的 += 进行这种(冗余的)重新分配?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com