Discuss / Python / 交作业

交作业

Topic source

你在眉梢

#1 Created at ... [Delete] [Delete and Lock User]

(1,2,3)

a=(1,2,3) d={'a':20} print(d) {'a':20} s1=set(a) s1 (1,2,3)

(1,2,3)可放入dic与set,因为它是不变的。

(1,[2,3])

a=(1,[2,3]) d={a,20} #此处a不加''因为会识别成字符串

然后会报错,类型为list

s2=set(a)

再次报错,类型为list

总结:因为(1,2,3)是不变的,所以它放入dic和set都不会报错,但是tuple (1,[2,3]) 虽然它指向的元素没有变,都是1和一个list[2,3],但是由于list是可变的,但是其内部的元素可变,所以它不具备key所需要的不变性,从而无法放入dic与set

个人看法,也不知道是否正确,如果有错,望大佬指正。

你并没有把(1,2,3)放入dic中吧? a=(1,2,3) d={'a':20} 这两个a是不一样的


  • 1

Reply