集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
集合是没有value的字典
一:创建集合
1:创建一个集合
ini
复制代码
# 创建集合 set_one = {1, 2, '33', 4, 5} print(set_one)
输出:
{'33', 1, 2, 4, 5}
2:创建一个空集合
scss
复制代码
# 创建一个空集合 set_kong = set() print(set_kong) print(type(set_kong))
输出:
set() <class 'set'>
二:集合添加元素
语法:set.add(value)
ini
复制代码
# 创建一个空集合,用来测试 set_ = set(); # 集合添加一个属性 set_.add('123'); print(set_)
三:集合修改元素
语法:set.update(value)
ini
复制代码
# 修改集合属性 update thisset = set(("Google", "Runoob", "Taobao")) thisset.update({1,3}) print(thisset) thisset.update([1,4],[5,6]) print(thisset)
输出:
{1, 3, 'Taobao', 'Runoob', 'Google'} {1, 3, 4, 'Taobao', 5, 6, 'Runoob', 'Google'}
四:移除元素
1:remove
语法:set.remove(value)、
删除不存在的元素会报错。
lua
复制代码
# 删除集合属性 remove thisset = set(("Google", "Runoob", "Taobao")) thisset.remove("Taobao") print(thisset) # thisset.remove("Facebook") # 不存在会发生错误
输出:
{'Runoob', 'Google'}
2:discard
语法:set.discard(value)
删除不存在的元素不会报错
python
复制代码
# 删除集合属性 discard thisset = set(("Google", "Runoob", "Taobao")) thisset.discard("Google") print(thisset) thisset.remove("sssss") # 不存在不会发生错误 print(thisset)
输出:
{'Taobao', 'Runoob'} {'Taobao', 'Runoob'}
3:pop随机删除集合中的一个元素
语法:set.pop(value)
随机删除集合的一个元素,并返回被删除的元素
ini
复制代码
# 随机删除集合的一个元素,并返回被删除的元素 thissets = set(("111", "222", "333")) val = thissets.pop() print(val) print(thissets)
输出:
222 {'111', '333'}
五:获取集合元素个数
语法:len(set)
python
复制代码
# 集合元素个数 sets = set((111,2222,3333,444,555,6666,777,888)) len = len(sets) print(len)
输出:
8
六:清空集合
语法:set.clear
scss
复制代码
# 清空集合 setly = set((111,222,333)) print(type(setly)) setly.clear() print(setly)
输出:
<class 'set'> set()
七:判断元素是否在集合中存在
语法:val in set
bash
复制代码
# 判断元素是否在集合中 setin = {111,222,333,444,555} if 111 in setin: print('111在集合中') else: print('111不在集合中')
输出:
111在集合中
八:集合的内置方法
方法 | 描述 |
add() | 为集合添加元素 |
clear() | 移除集合中的所有元素 |
copy() | 拷贝一个集合 |
difference() | 返回多个集合的差集 |
difference_update() | 移除集合中的元素,该元素在指定的集合也存在。 |
discard() | 删除集合中指定的元素 |
intersection() | 返回集合的交集 |
intersection_update() | 返回集合的交集。 |
isdisjoint() | 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 |
issubset() | 判断指定集合是否为该方法参数集合的子集。 |
issuperset() | 判断该方法的参数集合是否为指定集合的子集 |
pop() | 随机移除元素 |
remove() | 移除指定元素 |
symmetric_difference() | 返回两个集合中不重复的元素集合。 |
symmetric_difference_update() | 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 |
union() | 返回两个集合的并集 |
update() | 给集合添加元素 |
有好的建议,请在下方输入你的评论。