百木园-与人分享,
就是让自己快乐。

python笔记 -- set集合

一、概念

集合(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
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » python笔记 -- set集合

相关推荐

  • 暂无文章