set list 可变对象
Topic source要创建一个set,需要提供一个list作为输入集合,这个只是创建set的方法,仅此而已(将list的每个元素作为set的每个元素)。举例:s=set(['a','b','c']) 可以创建出{'a','b','c'} 这个set的元素都是不可变对象,当然合法。如果s=set(['a',['b','c']]),就不行了,因为list的第2个元素是个可变对象。并且,如果是使用tuple作为dict或者set的key,(tuple是不可变对象),必须保证tuple的每个元素本身也不可变,s=set([(1,2,3)])这样是可以的,但是s=set([(1,[2,3])])这样不行。因为tuple(1,2,3)是每个元素本身也不可变,而tuple(1,[2,3])的第二个元素是可变的。
- 1
brigthing
老师说的是set需要里面要放入一个list集合作为参数,像这样s=set([1,2,3])
但是list不是可变对象吗?而set和dict一样不能放入可变对象。这??
,或者我这样 lis=['a','b','c'],ss=set(list),一样的是正确的呢,
感觉哪里没理解或者矛盾了呢???