紧张学习 发表于 2022-7-21 17:55:46

家人们,这是怎么回事,求解呀

两个代码只有x=y=[]和x=[],y=[]的区别,有什么影响吗?

a=eval(input("输入:"))
x=[]
y=[]
for i in a:
    print (i)
    if int(i)%2==0:
      y.append(i)      
    else :
      x.append(i)
      print (x)
x1=sorted(x)
y1=sorted(y)
z=x1+y1
print (z)

结果:
输入:
1

5

8
3



a=eval(input("输入:"))
x=y=[]
for i in a:
    print (i)
    if int(i)%2==0:
      y.append(i)
    else :
      x.append(i)
      print (x)
x1=sorted(x)
y1=sorted(y)
z=x1+y1
print (z)

结果:
输入:
1

5

8
3


临时号 发表于 2022-7-21 17:55:47

当然有区别
>>> x = []
>>> y = []
>>> id(x)
7158400
>>> id(y)
7516968
>>> x=y=[]
>>> id(x)
11521040
>>> id(y)
11521040
>>>
可以看到,如果是x=[],y=[]的话,他们的地址是不同的,也就是说是不同的对象
但如果是x=y=[]的话,他们的地址就是相同的,是同一个对象
页: [1]
查看完整版本: 家人们,这是怎么回事,求解呀