集合

集合

所有元素都放在{}中,逗号分隔
集合是无序的
有可变集合set和不可变集合frozenset
因为集合中的元素是唯一的,所以最好的应用是来去重

集合的创建

1、使用{}创建

#语法
setname = {element1,element2,element3,...elementn}

#案例
set1 = {'赵飞','刘翔','李萌'}
set2 = {3,4,12,3,4,12}
set3 = {'python',28,('人生苦短','我用python')}
print(set1) #输出 {'刘翔', '赵飞', '李萌'}
print(set2) #输出 {3, 4, 12} 可以看到去重了
print(set3) #输出 {('人生苦短', '我用python'), 28, 'python'} 可以为任意数据类型
#结合是无序的,所以每次输出可能顺序都不一样

2、使用set()函数创建

set()可以将列表、元素可迭代对象转换成集合。
注意创建空集合不能使用{},这样创建的是一个字典,得使用set()函数创建。

#语法
setname = set(iteration)
#iteration:要转换为集合的可迭代对象,可以是列表、元组、range对象跟字符串等

#案例
#创建一个空集合
set1 = set()
print(set1,type(set1)) #输出为 set() <class 'set'>

set1 = set('Python是世界上最好的语言,没有之一')
set2 = set([2,3,4,1,23,4,5])
set3 = set(('人生苦短','我用python'))
print(set1)
print(set2)
print(set3)
---------------脚本执行结果--------------------
{'o', '界', 'h', '没', '的', ',', '之', 'y', 'P', '好', '最', '上', '语', 't', '有', '一', '是', 'n', '言', '世'}
{1, 2, 3, 4, 5, 23}
{'我用python', '人生苦短'}

添加和删除

1、添加元素
可使用add()方法

#语法
setname.add(element)
#element: 要添加的元素,只能为字符串、数字、布尔类型等,不能为列表、元组等可迭代对象

#案例
mr = set (['李冰冰','韩寒','刘亦菲','娜扎','杨幂'])
mr.add('范冰冰')
print(mr)
#输出为 {'范冰冰', '李冰冰', '杨幂', '娜扎', '刘亦菲', '韩寒'}

2、删除元素
del:删除整个集合
pop()方法:移除最后一个元素
remove()方法:删除某个元素,如果该元素不存在则报错
clear()方法:清空整个集合

mr = set (['李冰冰','韩寒','刘亦菲','娜扎','杨幂','范冰冰'])
mr.remove('范冰冰')
mr.pop()
mr.clear() #输出为 空

集合的交集并集和差集

& 交集运算符
| 并集运算符
-差集运算符

pf = set(['赵飞','李萌','刘翔'])
cf = set(['刘翔','老王','李冰冰'])
print('交集运算:',pf & cf) #输出 交集运算: {'刘翔'}
print('并集运算:',pf | cf) #输出 并集运算: {'刘翔', '赵飞', '老王', '李萌', '李冰冰'}
print('差集运算:',pf - cf) #输出 差集运算: {'李萌', '赵飞'}
'''
交集运算是找出两个集合中都有的元素
并集运算是合并两个集合并去重
差集运算是cf中没有的而pf中有的元素

学习来自:《python从入门到项目实践》明日科技 第十章
posted @ 2020-11-16 17:22  努力吧阿团  阅读(91)  评论(0编辑  收藏  举报