集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
如果添加的元素存在,则 不进行任何操作
集合的所有方法
方法 | 描述 |
---|---|
add() | 为集合添加元素 |
clear() | 移除集合中的所有元素 |
copy() | 拷贝一个集合 |
difference() | 返回多个集合的差集 |
difference_update() | 移除集合中的元素,该元素在指定的集合也存在。 |
discard() | 删除集合中指定的元素 |
intersection() | 返回集合的交集 |
intersection_update() | 返回集合的交集。 |
isdisjoint() | 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 |
issubset() | 判断指定集合是否为该方法参数集合的子集。 |
issuperset() | 判断该方法的参数集合是否为指定集合的子集 |
pop() | 随机移除元素 |
remove() | 移除指定元素 |
symmetric_difference() | 返回两个集合中不重复的元素集合。 |
symmetric_difference_update() | 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 |
union() | 返回两个集合的并集 |
update() | 给集合添加元素 |
创建集合
方式1
jsondata = set({1, 'a', 3.15})
print(jsondata)
#打印
{'a', 1, 3.15}
方式2
jsondata2={1, 'a', 3.15}
print(jsondata2)
#打印
{'a', 1, 3.15}
创建空集合 set()
jsondata = set()
print(jsondata)
#打印
set()
添加元素 .add()
jsondata2={1, 'a', 3.15}
jsondata2.add('你好世界')
#打印
{1, 'a', '你好世界', 3.15}
添加任何数据 .update()
可以添加元素,且参数可以是列表,元组,字典等
setdata = set(('你好世界','海贼王', '海王'))
setdata.update(('火影忍者',))
setdata.update({1,3})
setdata.update([5,6],[7,8])
print(setdata)
#打印
{'海贼王', 1, 3, 5, 6, 7, 8, '海王', '你好世界', '火影忍者'}
移除元素 .remove()
如果被指定的元素, 不存在 则会发生错误
setdata = set(('你好世界','海贼王', '海王'))
setdata.update(('火影忍者',))
setdata.update({1,3})
setdata.update([5,6],[7,8])
print(setdata)
setdata.remove('你好世界')
print(setdata)
# 打印
{'火影忍者', 1, 3, 5, 6, 7, 8, '你好世界', '海贼王', '海王'}
{'火影忍者', 1, 3, 5, 6, 7, 8, '海贼王', '海王'}
移除元素 .discard()
如果被指定的元素 不存在,不会发生错误
setdata = set(('你好世界','海贼王', '海王'))
setdata.update(('火影忍者',))
setdata.update({1,3})
setdata.update([5,6],[7,8])
print(setdata)
setdata.discard('你好世界')
print(setdata)
# 打印
{'火影忍者', 1, 3, 5, 6, 7, 8, '你好世界', '海贼王', '海王'}
{'火影忍者', 1, 3, 5, 6, 7, 8, '海贼王', '海王'}
计算集合元素个数 len()
setdata = set(('你好世界','海贼王', '海王'))
print(len(setdata))
# 打印
3
清空集合 .clear()
setdata = set(('你好世界','海贼王', '海王'))
setdata.clear()
判断元素是否在集合中存在 in
setdata = set(('你好世界','海贼王', '海王'))
print( '你好世界' in setdata)
# 打印 存在返回 True , 不存在返回 False
True