set集合:
特点:无序,元素不重复
功能:关系测试,去重
集合创建:
>>> s = set('python') >>> s {'p', 't', 'y', 'h', 'o', 'n'} >>> l1 = ['python','pingy'] >>> s = set(l1) >>> s {'pingy', 'python'} >>> s = set('hello') >>> s {'h', 'e', 'l', 'o'} #'hello'中有两个'l',集合会去掉重复的元素。
集合修改:
.add:增加元素
.update:更一个新集合到另外一个集合
>>> s = set('python') >>> s {'p', 't', 'y', 'h', 'o', 'n'} >>> s.add('abc') #增加元素 >>> s {'p', 't', 'y', 'abc', 'h', 'o', 'n'} >>> s.update('bcd') >>> s {'p', 't', 'y', 'abc', 'c', 'b', 'd', 'h', 'o', 'n'} >>> se = set('linux') >>> se {'i', 'x', 'u', 'l', 'n'} >>> s.update(se) #把se集合更新到s集合中 >>> s {'p', 'u', 't', 'y', 'x', 'abc', 'c', 'b', 'd', 'i', 'h', 'l', 'o', 'n'}
集合删除:
.remove:删除指定元素
del:删除整个集合
.pop:随机删除一个元素
.clear:清空集合
>>> s {'p', 'u', 't', 'y', 'x', 'abc', 'c', 'b', 'd', 'i', 'h', 'l', 'o', 'n'} >>> s.remove('abc') #删除指定元素 >>> s {'p', 'u', 't', 'y', 'x', 'c', 'b', 'd', 'i', 'h', 'l', 'o', 'n'} >>> se {'i', 'x', 'u', 'l', 'n'} >>> del se #删除集合 >>> s1 {'a', 'm', 'n'} >>> s1.clear() #清空集合 >>> s1 set()
集合类型操作:
in not in:
== !=
< >
>>> s1 {'a', 'm', 'n'} >>> s2 {'a', 'm', 'o', 'w', 'n'} >>> s1<s2 True
&:交集
|:并集
-:差集
^:对称差集(去掉两个集合中的交集,留下剩下的元素的集合)
>>> s1 {'a', 'm', 'n'} >>> s2 {'a', 'm', 'o', 'w', 'n'} >>> s1<s2 True >>> s1 & s2 #交集 {'a', 'm', 'n'} >>> s1 | s2 #并集 {'w', 'a', 'm', 'o', 'n'} >>> s2 -s1 #差集 {'w', 'o'}
例:列表去重
>>> l = [1,2,3,4,5,6,4,3,6,7,9,12,2] >>> l [1, 2, 3, 4, 5, 6, 4, 3, 6, 7, 9, 12, 2] >>> list(set(l)) [1, 2, 3, 4, 5, 6, 7, 9, 12]