gpt4 book ai didi

python - 解释打印 test_list

转载 作者:太空宇宙 更新时间:2023-11-04 03:35:02 25 4
gpt4 key购买 nike

你能给我详细解释一下节目的后半部分吗?我知道 input_list[0] = 10 是一个范围为 1 - 10 的变量,但是列表 [1, 2, 3, 4、5、6、7、8、9、10][10、2、3、4、5、6、7、8、9] [10, 5, 5]从哪里来?

def list_changer(input_list):
input_list[0] = 10

input_list = range(1, 10)
print(input_list)
input_list[0] = 10
print(input_list)

>>> test_list = [5, 5, 5]
>>> list_changer(test_list)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[10, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print test_list
[10, 5, 5]

预先感谢您的所有帮助。

最佳答案

尝试使用 id

def list_changer(input_list):
input_list[0] = 10
print id(input_list)
input_list = range(1, 10)
print(input_list)
input_list[0] = 10
print(input_list)


>>>test_list = [5, 5, 5]
>>>print id(test_list)
>>>list_changer(test_list)
>>>print test_list

#output

139794448752512
139794448752512
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[10, 2, 3, 4, 5, 6, 7, 8, 9]
[10, 5, 5]

由此可见test_listid1st函数中的input_list相同.那就是两者都引用了[5,5,5]。所以对test_listinput_list(第一行)的更改将影响到所有引用它的变量。第 1 行是 [5,5,5] 发生变化的地方。

然后 input_list = range(1, 10)。这次 input_list 引用 range(1, 10)。还是 [10,5,5] 由变量 test_list 引用。

希望对你有帮助

关于python - 解释打印 test_list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29463474/

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