Python(二十一)python集合set

92 阅读3分钟

集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

集合是没有value的字典

一:创建集合

1:创建一个集合

# 创建集合
set_one = {12'33'45}
print(set_one)

输出:

{'33', 1, 2, 4, 5}

2:创建一个空集合

# 创建一个空集合
set_kong = set()
print(set_kong)
print(type(set_kong))

输出:

set()

<class 'set'>

二:集合添加元素

语法:set.add(value)

# 创建一个空集合,用来测试
set_ = set();
# 集合添加一个属性
set_.add('123');
print(set_)

三:集合修改元素

语法:set.update(value)

# 修改集合属性 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)、

删除不存在的元素会报错。

# 删除集合属性 remove
thisset = set(("Google""Runoob""Taobao"))
thisset.remove("Taobao")
print(thisset)

# thisset.remove("Facebook")   # 不存在会发生错误

  输出:

{'Runoob', 'Google'}

  2:discard

语法:set.discard(value)

删除不存在的元素不会报错

# 删除集合属性 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)

随机删除集合的一个元素,并返回被删除的元素

# 随机删除集合的一个元素,并返回被删除的元素
thissets = set(("111""222""333"))
val = thissets.pop()
print(val)
print(thissets)

输出:

222

{'111', '333'}

  五:获取集合元素个数

语法:len(set)

# 集合元素个数
sets = set((111,2222,3333,444,555,6666,777,888))
len = len(sets)
print(len)

输出:

8

六:清空集合

语法:set.clear

# 清空集合
setly = set((111,222,333))
print(type(setly))
setly.clear()
print(setly)

输出:

<class 'set'>

set()

  七:判断元素是否在集合中存在

语法:val in set

# 判断元素是否在集合中
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()给集合添加元素

  有好的建议,请在下方输入你的评论。