gpt4 book ai didi

python - 在 Python 中为切片的元素赋值

转载 作者:太空狗 更新时间:2023-10-29 21:32:51 25 4
gpt4 key购买 nike

这是一个关于Python如何处理数据和变量的简单问题。我已经做了很多实验并且基本上弄明白了 Python,除了这让我感到困惑:

[编辑:为了清楚起见,我将示例分开并重新排列]

示例 1:

>>> a = [[1], 2]
>>> a[0:1]
[[1]]
>>> a[0:1] = [[5]]
>>> a
[[5], 2] # The assignment worked.

示例 2:

>>> a = [[1], 2]
>>> a[0:1][0]
[1]
>>> a[0:1][0] = [5]
>>> a
[[1], 2] # No change?

示例 3:

>>> a = [[1], 2]
>>> a[0:1][0][0]
1
>>> a[0:1][0][0] = 5
>>> a
[[5], 2] # Why now?

有人能给我解释一下这是怎么回事吗?

到目前为止,答案似乎声称 a[0:1] 返回一个包含对 a 第一个元素的引用的新列表。但我不明白这是如何解释示例 1 的。

最佳答案

a[0:1] 返回一个新数组,其中包含对数组 [1] 的引用,因此您最终通过引用调用修改了内部数组。

第一种情况没有修改 [1] 数组的原因是您正在为复制的外部数组分配一个新的内部数组值。

底线 - a[0:1] 返回数据的副本,但不会复制内部数据。

关于python - 在 Python 中为切片的元素赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4055515/

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