赞
踩
集合是可变的数据类型
元素必须是不可变的数据类型
特征:
无序、不重复
set1 = set({1,2,3,4})
print(set1)
set2 = {1,2,3,[2,3],{'name':'alex'}} # 报错
注意这个添加的元素必须是不可变数据类型
set1 = {'pyrookie','pipijiang'}
set1.add('女神')
print(set1)
{'pipijiang', '女神', 'pyrookie'}
注意传入的参数必须是可迭代对象
类似于列表的extend的增加
set1 = {'pyrookie','pipijiang'}
set1.update('abc') #类似与extend的增加
print(set1)
{'pyrookie', 'pipijiang', 'c', 'a', 'b'}
随机删除,并返回删除的内容
set1 = {'b', 'a', 'pipijiang', 'pyrookie', 'c', '女神'}
print(set1.pop()) # 随机删除 并返回删除的内容
print(set1)
pipijiang
{'c', 'pyrookie', 'a', '女神', 'b'}
指定元素删除,如果删除的元素不是集合中的元素会报错
set1 = { 'pipijiang', 'pyrookie', '女神'}
set1.remove('女神')
print(set1)
{'pipijiang', 'pyrookie'}
将集合清空,只保留一个空集合
set1 = { 'pipijiang', 'pyrookie','女神'}
set1.clear()
print(set1)
set()
从内存中删除
set1 = {1,2,3}
del set1
print(set1)
NameError: name 'set1' is not defined
没有改这个功能,因为集合的元素都是不可变数据类型
无序,只能for in 遍历查看集合中的元素
# 返回一个交集集合
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 & set2)
print(set1.intersection(set2))
{4, 5}
{4, 5}
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 | set2)
print(set1.union(set2))
{1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 3, 4, 5, 6, 7, 8}
就是对于set1 来说 独有的
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 - set2)
print(set1.difference(set2))
{1, 2, 3}
{1, 2, 3}
set1 = {1,2,3}
set2 = {1,2,3,4,5,6,7,8}
print(set1 < set2) #这两个相同,都是说明set1 是set2 的子集,set2 是 set1 的超集
print(set1.issubset(set2))
True
True
set1 = {1,2,3}
set2 = {1,2,3,4,5,6,7,8}
print(set2 > set1) ##这两个相同,都是说明set1 是set2 的子集,set2 是 set1 的超集
print(set2.issuperset(set1))
True
True
对列表中的元素去重
li = [1,2,3,4,5,6,5,1,2]
set1 = set(li)
li = list(set1)
print(li)
[1, 2, 3, 4, 5, 6]
转换后的数据类型
1、无重复
2、没有集合的添加和删除方法
s = frozenset('barry')
print(s, type(s))
frozenset({'b', 'r', 'y', 'a'}) <class 'frozenset'>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。