Python函数
集合(set)是一个无序的不重复元素序列,所以在Python中的集合都是自动去重的且无序,可以使用大括号 { } 或者 set() 函数创建集合,需要注意的是创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
#第一种形式
set = set()
print(set)
print(type(set))
#第二种形式,测试是否为无序且排重
set1 = {'name1','name2','name3','name4','name1','name2','name3'}
print(set1)
print(type(set1))
if 'name1' in set1: # 快速判断元素是否在集合内
print('’name1‘在这里')
else:
print('’name1‘不在这里')
if 'name5' in set1:
print('’name5‘在这里')
else:
print('’name5‘不在这里')
输出:
set()
<class 'set'>
{'name4', 'name1', 'name3', 'name2'}
<class 'set'>
’name1‘在这里
’name5‘不在这里
输入:
a = {'a','b','r','a','c','a','d','a','b','r','a'}
b = {'g','e','j','k','a','b','c'}
print(a)
print(b)
# 集合a中包含而集合b中不包含的元素
c = a - b
print("集合a中包含而集合b中不包含的元素:",c)
# 集合a或b中包含的所有元素
d = a | b
print('集合a或b中包含的所有元素:',d)
# 集合a和b中都包含了的元素
e = a & b
print("集合a和b中都包含了的元素:",e)
# 不同时包含于a和b的元素
f = a ^ b
输出:
{'d', 'r', 'c', 'b', 'a'}
{'k', 'j', 'c', 'b', 'e', 'g', 'a'}
集合a中包含而集合b中不包含的元素: {'d', 'r'}
集合a或b中包含的所有元素: {'e', 'g', 'b', 'a', 'd', 'r', 'c', 'k', 'j'}
集合a和b中都包含了的元素: {'a', 'c', 'b'}
{'k', 'r', 'e', 'g', 'd', 'j'}
集合的基本操作主要有对集合进行添加元素、移除元素、计算集合元素个数、清空元素、判断元素是否在集合中存在等操作
添加元素的方法主要是加上add或update
输入:
#添加元素
name1 = set(("这是一段","话","来着"))
print(name1)
#add只能添加一个元素
name1.add("吗?")
print(name1)
#update可以添加多个
name1.update("1,2,3")
print(name1)
输出:
{'这是一段', '话', '来着'}
{'这是一段', '吗?', '话', '来着'}
{'话', '来着', '2', '这是一段', '吗?', ',', '1', '3'}
移除元素的语法格式如下:s.remove( x ),将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
输入:
#移除元素
thisremove = set(("abc","jiumu","mumu"))
thisremove.remove("mumu")
print(thisremove)
#若是这个元素不存在就会报错
"""
thisremove.remove("mumu1")
print(thisremove)
"""
#还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式如下所示:
#s.discard( x )
thisremove.discard("不存在!")
print(thisremove)
#我们也可以设置随机删除集合中的一个元素,语法格式如下:
#s.pop()
x = thisremove.pop()
print(x)
输出:
{'abc', 'jiumu'}
{'abc', 'jiumu'}
abc
计算集合元素个数的语法格式如下:len()
输入:
#计算集合元素个数
thisset = set(("Google", "Runoob", "Taobao"))
print(len(thisset))
输出:
3
清空集合的语法格式如下:s.clear()
输入:
#清空元素
thisset = set(("Google", "Runoob", "Taobao"))
thisset.clear()
print(thisset)
输出:
set()
判断元素是否在集合中存在的格式:x in s
输入:
#判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False
thisset = set(("Google", "Runoob", "Taobao"))
if "abc" in thisset:
print("abc在thisset里")
else:
print("abc不在thisset里")
输出:
abc不在thisset里