gpt4 book ai didi

Python 函数有 2 个列表,但只更改了 1 个

转载 作者:行者123 更新时间:2023-12-01 04:54:13 25 4
gpt4 key购买 nike

为什么Lista1改变了而Lista2没有改变?哪些方法直接更改列表?

def altera(L1, L2):
for elemento in L2:
L1.append(elemento)
L2 = L2 + [4]
L1[1]= 10
del L2[0]
return L2[:]

Lista1 = [1, 2, 3]
Lista2 = [1, 2, 3]

Lista3 = altera(Lista1, Lista2)

print(Lista1)
print(Lista2)
print(Lista3)

最佳答案

L2 = L2 + [4]该语句创建新变量。

如果将此语句更改为 L2.extend([4])L2 += [4]那么它会改变 L2 的值这是 [2, 3, 4]

打印idL2分配之前和之后。

>>> L2 = [1,2,3]
>>> id(L2)
3072769420L # ID of L2
>>> L2 += [4]
>>> id(L2)
3072769420L # Same ID of L2
>>> L2
[1, 2, 3, 4]
>>> L2 = L2+[5]
>>> id(L2)
142773548 # New variable which name is L2

关于Python 函数有 2 个列表,但只更改了 1 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27804600/

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