1 《1》: 2 set和dict相似,也是一组key的集合,但不存储value。因为key不能重复,因此,在set中,没有重复的key。 3 要建立一个set,须要提供一个list做为输入集合: 4 5 s = set([1,2,3]) 6 print(s) 7 结果:[1,2,3] 8 9 注意,传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。 10 11 《2》: 12 若是,列表内有重复的元素会被set过滤掉 13 s = set([1,2,2,3,5,5,,6]) 14 print(s) 15 结果:[1,2,3,5,6] 16 17 《3》: 18 s = set([1,2,3,4,5]) 19 s.add(2) # 添加 2 20 print(s) 21 结果:[1,2,3,4,5] 22 在这里使用add添加元素列表里已有的是没用的 23 《4》:说一下不可变的对象 24 # 虽然字符串有一个replace()方法,可是到底能不能改变str类型咱们一探究竟。 25 >>>s = ‘abcd’ 26 >>>b = s.replace('a',' A') 27 'Abcd' 28 >>>s 29 abcd 30 当咱们调用a.replace('a', 'A')时,实际上调用方法replace是做用在字符串对象'abc'上的,而这个方法虽然名字叫replace,但却没有改变字符串'abc'的内容。相反,replace方法建立了一个新字符串'Abc'并返回,若是咱们用变量b指向该新字符串,就容易理解了,变量a仍指向原有的字符串'abc',但变量b却指向新字符串'Abc'了 31 [小结:] 32 因此,对于不变对象来讲,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会建立新的对象并返回,这样,就保证了不可变对象自己永远是不可变的。 33 使用key-value存储结构的dict在Python中很是有用,选择不可变对象做为key很重要,最经常使用的key是字符串。 34 tuple虽然是不变对象,但试试把(1, 2, 3)和(1, [2, 3])放入dict或set中,并解释结果。