目录
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式: parame={value1,value2,......} 或者 set(value)
print("-----------Python3 集合----------------")
basket={'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} #集合中有重复值存在
print(basket) #输出的数据中没有重复值
print('orange' in basket) #判断元素是否在集合内 true
print('crabgrass' in basket) #false
print("-----------两个集合之间的运算----------------")
a = set('abracadabra')
b = set('alacazam')
print(a)
print(b)
print(a-b) #集合a中存在,集合b中没有的元素
print(a|b) #集合a或集合b中存在的元素
print(a&b) #集合a和集合b都存在的元素
print(a^b) #不同时包含于a和b的元素 a有b没有,b有a没有
a={x for x in 'abracadabra' if x not in 'abc'} #集合支持集合推导式
print(a)
结果:
1、集合的基本操作
1.1添加元素
将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
1.1.1 语法:s.add(x)
1.1.2 语法:s.update(x)
print("-----------集合 添加元素----------------")
thisset = set(('Google','Runoob','Taobao'))
thisset.add('Facsbook')
print(thisset)
#参数可以是列表,元组,字典等 s.update(x) x可以有多个,用逗号分开
thisset.update({1,3})
print(thisset)
thisset.update([1,4],[5,6])
print(thisset)
结果:
1.2移出元素
1.2.1 语法:s.remove(x)
将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
1.2.2 语法:s.discard(x)
将元素 x 从集合 s 中移除,如果元素不存在,不会发生错误。
1.2.3 语法:s.pop(x)
设置随机删除集合中的一个元素
多次执行测试结果都不一样。
然而在交互模式,pop 是删除集合的第一个元素(排序后的集合的第一个元素)。
print("-----------集合 移出元素----------------")
thisset = set(("Google", "Runoob", "Taobao"))
thisset.remove('Taobao') #s.remove(x)
print(thisset)
#thisset,remove('Facebook') #不存在会发生错误
thisset = set(("Google", "Runoob", "Taobao"))
thisset.discard('Facebook') #s.discard(x) 不存在不会发生错误
thisset = set(("Google", "Runoob", "Taobao"))
x=thisset.pop() #s.pop() 随机删除集合中的一个元素
print(x) #被删除的元素
结果:
1.3计算集合元素个数
语法:len(s)
print("-----------计算集合元素个数----------------")
thisset = set(("Google", "Runoob", "Taobao"))
print(len(thisset))
1.4清空集合
语法:s.clear() ps:返回一个空的集合
print("-----------清空集合----------------")
thisset = set(("Google", "Runoob", "Taobao"))
thisset.clear()
print(thisset)
1.5判断元素是否在集合中存在
语法:x in s
basket={'apple', 'orange', 'pear', 'banana'}
print(basket)
print('orange' in basket) #判断元素是否在集合内 true
print('crabgrass' in basket) #false
1.6集合内置方法完整列表
方法 | 描述 |
---|---|
add() | 为集合添加元素 |
clear() | 移除集合中的所有元素 |
copy() | 拷贝一个集合 |
difference() | 返回多个集合的差集 |
difference_update() | 移除集合中的元素,该元素在指定的集合也存在。 |
discard() | 删除集合中指定的元素 |
intersection() | 返回集合的交集 |
intersection_update() | 删除集合中的元素,该元素在指定的集合中不存在。 |
isdisjoint() | 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 |
issubset() | 判断指定集合是否为该方法参数集合的子集。 |
issuperset() | 判断该方法的参数集合是否为指定集合的子集 |
pop() | 随机移除元素 |
remove() | 移除指定元素 |
symmetric_difference() | 返回两个集合中不重复的元素集合。 |
symmetric_difference_update() | 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 |
union() | 返回两个集合的并集 |
update() | 给集合添加元素 |
ps:后期整理使用方法
2018.12.25 11:20