一、概念
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
set是一个无序不重复元素值,作为一个无序的集合,set不记录元素位置或者插入点,因此,set不支持indexing。
二、set对列表去重
mylist = [\'Google\', \'Taobao\', \'Runoob\', \'Facebook\', \'Runoob\', \'Zhihu\', \'Baidu\', \'Google\']
myset = set(mylist) # myset是另外一个列表,里面的内容是mylist里面的无重复项
print(\"去重的效果:\", myset)
如果想达到的效果是,去重但是不改变原来的列表顺序
mylist = [\'Google\', \'Taobao\', \'Runoob\', \'Facebook\', \'Runoob\', \'Zhihu\', \'Baidu\', \'Google\'] set_list = list(set(mylist)) set_list.sort(key=mylist.index) print(\"去重不改变原本列表顺序的效果:\", set_list)
三、基本操作
mylist = [\'Google\', \'Taobao\', \'Runoob\', \'Facebook\', \'Runoob\', \'Zhihu\', \'Baidu\', \'Google\'] myset = set(mylist)
# 添加一项
myset.add(\'aaa\')
# 添加多项
myset.update(\'1\', \'2\', \'3\')
# 删除一项
myset.remove(\'Google\')
# 计算长度
lenth = len(myset) 结果:6
# 成员测试
\'Google\' in myset 结果:True
\'Google\' not in myset 结果:False
四、集合运算
a = set(\'abracadabra\') b = set(\'alacazam\')
# 差集
print(a-b) 结果:{\'b\', \'d\', \'r\'}
print(b-a) 结果:{\'l\', \'z\', \'m\'}
# 并集
print(a | b) 结果:{\'r\', \'c\', \'b\', \'l\', \'a\', \'z\', \'m\', \'d\'}
# 交集
print(a & b) 结果:{\'a\', \'c\'}
# a 和 b 中不同时存在的元素
print(a ^ b) 结果:{\'m\', \'b\', \'z\', \'d\', \'r\', \'l\'}
来源:https://www.cnblogs.com/falling-trees/p/15956474.html
本站部分图文来源于网络,如有侵权请联系删除。