为了账号安全,请及时绑定邮箱和手机立即绑定

对于说set中必须是不变对象

我试了一段代码

L = [1,2,3,4]
a = 10
L.append(a)
print(set(L))
a = 11
print(set(L))

我在L中放了变量a,为什么还是塞进了set中,不是说可变对象不可放入吗

正在回答

5 回答

list是可变的,但是L是没有变化的,在set里就只有L ,并且没有变成其他的字母,像s ,d...... 这样应该不会变吧

0 回复 有任何疑惑可以回复我~

list 不是可变的吗,为什么可以放入set

0 回复 有任何疑惑可以回复我~

你又不是把a放进去,只是把a的值(10)放进去,对于set来说,10是不可变的,

0 回复 有任何疑惑可以回复我~

你是先调用list的append()方法,在L中增加10这个元素,再创建set集合的,所以set还是没变

1 回复 有任何疑惑可以回复我~

执行结果:

set([1, 2, 3, 4, 10])

set([1, 2, 3, 4, 10])


0 回复 有任何疑惑可以回复我~
#1

查无此人007 提问者

我的意思是,如果不可放入的话,那第一行输出中的10是如何放入的,因为a从一开始就是可变的呀
2016-02-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

对于说set中必须是不变对象

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信