我正在尝试使用两个输入创建一个函数,该函数可以将值附加到选择列表中。我开始使用两个列表来使代码在构建之前工作。
a = []
b = []
def func(z,x):
if z == a:
a.append(x)
elif z == b:
b.append(x)
print(a,b)
出于某种原因,无论我选择哪一个,它都会附加到第一个列表,然后是第二个列表。我刚刚开始学习python,所以我可能错过了一些基本的东西。
答案 0 :(得分:1)
==
比较两个列表时会看到它们是否包含相同的项目。空列表等同于另一个空列表,因此第一次调用该函数时,它将始终附加到a
。您可以使用的是is
(if z is a:
),但更好的方法是忽略a
和b
,并直接使用z
:< / p>
def func(z, x):
z.append(x)
print(a, b)
这引起了对为什么需要这个功能的怀疑......