当您有一个多级列表[python]时,该列表中的参照点如何变化?

Helloimjs0n

因此,例如,您有:

a = [1,2]

b = [a,3]

c = b[:]

a[0] = 7

b[1] = 8

print c

你得到 [[7, 2], 3]

为什么不3变成8

吓坏了

正如其他人所提到的,基本原理是分配时您正在执行“浅表复制” c

要详细说明,您需要执行以下操作:

a = [1,2]
# a = list(1,2) at address AAA

b = [a, 3]
# b = list( [REFERENCE to AAA], 3) at address BBB

c = b[:]
# c = NEW list( b[0], b[1] ) at address CCC
# c = list( [REFERENCE to AAA], 3) at address CCC

a[0] = 7
# change item at AAA, offset [0], to 7
# 'b' points to AAA, so it will see change
# 'c' points to AAA, so it will see change

b[1] = 8
# change item at BBB, offset [1], to 8
# 'a' doesn't know about this, so it doesn't care.
# 'c' doesn't point to BBB, so it doesn't see the change.

print c
# Prints CCC offset [0], which refers to the AAA list, as changed,
# then prints CCC offset [1], which is still 3.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:为列表中的每个元素获取一个没有该元素的新列表

来自分类Dev

如何从python复制列表列表而没有每个列表中的最后一个元素

来自分类Dev

当一个类的实例变量在列表中时,如何更改该实例变量

来自分类Dev

是否有一个接受列表并返回该列表中重复元素列表的函数?

来自分类Dev

当列表列表中的所有项目等于一个值时,如何设置if语句?

来自分类Dev

如何获得一个列表的所有排序,以使该列表等于另一个列表?

来自分类Dev

如何获得一个列表的所有排序,以使该列表等于另一个列表?

来自分类Dev

创建一个列表,该列表在Python中的其他两个列表中每个元素只有一次

来自分类Dev

如何在Python中创建一个没有子列表的列表

来自分类Dev

如何让python在列表中搜索一个单词而不是列表中所有单词的文本?

来自分类Dev

如何检查一个列表是否在另一个具有相同顺序的python列表中

来自分类Dev

给定一个列表,如何计算该列表中的项目?

来自分类Dev

如何使该方法用一个列表中不同表和字段的值填充列表?

来自分类Dev

如何创建一个列表,然后创建len(),然后为该列表的每个“节”在Python中创建一个条目?

来自分类Dev

如何在一个列表变化检测?

来自分类Dev

如何获取两列的列表并创建一个元组,将所有元组放入列表中,然后返回该列表?

来自分类Dev

当您有一个名为max的变量时,使用Python的max函数?

来自分类Dev

当您有一个额外的变量时,在R中循环创建许多图

来自分类Dev

我如何做到这一点,当我从 foreach 列表中单击一个按钮时,它只会激活该特定列表中的按钮?

来自分类Dev

Python使用布尔值为列表中的每个项目返回一个列表,该列表与另一个列表相同

来自分类Dev

当我单击一个正方形时,我想显示一个列表,如何在javascript中做到这一点?

来自分类Dev

如何从现有列表列表中创建第一个元素的新列表

来自分类Dev

Python 3.6:当列表中的值发生变化时,找到另一个列表中值的总和?

来自分类Dev

Python-获取列表中的对的总和,该列表的总和大于一个值,并且在多对中没有使用索引

来自分类Dev

如何在Python中从字符串中创建一个没有子列表的列表

来自分类Dev

如何从列表中获取小于或等于python中另一个列表的所有值

来自分类Dev

在集合中查找元素,其中元素具有一个字段,该字段是一个列表,并且给定值必须属于该列表

来自分类Dev

Python-如何替换列表列表中每个列表的第一个元素

来自分类Dev

在计算(不附加)要添加的下一个数组时,如何避免具有numpy数组的列表中的所有条目发生变化?

Related 相关文章

  1. 1

    Python:为列表中的每个元素获取一个没有该元素的新列表

  2. 2

    如何从python复制列表列表而没有每个列表中的最后一个元素

  3. 3

    当一个类的实例变量在列表中时,如何更改该实例变量

  4. 4

    是否有一个接受列表并返回该列表中重复元素列表的函数?

  5. 5

    当列表列表中的所有项目等于一个值时,如何设置if语句?

  6. 6

    如何获得一个列表的所有排序,以使该列表等于另一个列表?

  7. 7

    如何获得一个列表的所有排序,以使该列表等于另一个列表?

  8. 8

    创建一个列表,该列表在Python中的其他两个列表中每个元素只有一次

  9. 9

    如何在Python中创建一个没有子列表的列表

  10. 10

    如何让python在列表中搜索一个单词而不是列表中所有单词的文本?

  11. 11

    如何检查一个列表是否在另一个具有相同顺序的python列表中

  12. 12

    给定一个列表,如何计算该列表中的项目?

  13. 13

    如何使该方法用一个列表中不同表和字段的值填充列表?

  14. 14

    如何创建一个列表,然后创建len(),然后为该列表的每个“节”在Python中创建一个条目?

  15. 15

    如何在一个列表变化检测?

  16. 16

    如何获取两列的列表并创建一个元组,将所有元组放入列表中,然后返回该列表?

  17. 17

    当您有一个名为max的变量时,使用Python的max函数?

  18. 18

    当您有一个额外的变量时,在R中循环创建许多图

  19. 19

    我如何做到这一点,当我从 foreach 列表中单击一个按钮时,它只会激活该特定列表中的按钮?

  20. 20

    Python使用布尔值为列表中的每个项目返回一个列表,该列表与另一个列表相同

  21. 21

    当我单击一个正方形时,我想显示一个列表,如何在javascript中做到这一点?

  22. 22

    如何从现有列表列表中创建第一个元素的新列表

  23. 23

    Python 3.6:当列表中的值发生变化时,找到另一个列表中值的总和?

  24. 24

    Python-获取列表中的对的总和,该列表的总和大于一个值,并且在多对中没有使用索引

  25. 25

    如何在Python中从字符串中创建一个没有子列表的列表

  26. 26

    如何从列表中获取小于或等于python中另一个列表的所有值

  27. 27

    在集合中查找元素,其中元素具有一个字段,该字段是一个列表,并且给定值必须属于该列表

  28. 28

    Python-如何替换列表列表中每个列表的第一个元素

  29. 29

    在计算(不附加)要添加的下一个数组时,如何避免具有numpy数组的列表中的所有条目发生变化?

热门标签

归档