python的集合set的操作精讲:
set的特点:
1、无序
2、可重复
3、不可迭代--------可迭代的有字符串、list、元组tuple
主要操作:
1、创建集合。set():可变的 ;不可变的frozenset():
2、添加操作: add,update,注意update和add的区别
3、删除 remove
4、成员关系 in,not in
6、交集,并集,差集 & | -
7、set去重 列表内容元素重复
>>> x = set('spam')
>>> y = set(['h','a','m'])
>>> x, y
(set(['a', 'p', 's', 'm']), set(['a', 'h', 'm']))
>>> x & y # 交集
set(['a', 'm'])
>>> x | y # 并集
set(['a', 'p', 's', 'h', 'm'])
>>> x - y # 差集
set(['p', 's'])
记得以前个网友提问怎么去除海量列表里重复元素,用hash来解决也行,只不过感觉在性能上不是很高,用set解决还是很不错的,示例如下:
>>> a = [11,22,33,44,11,22]
>>> b = set(a)
>>> b
set([33, 11, 44, 22])
>>> c = [i for i in b]
>>> c
[33, 11, 44, 22]