ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

集合

2020-03-29 16:51:54  阅读:459  来源: 互联网

标签:apple cherry 元素 print 集合 banana


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

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

s.add(x):往集合s添加元素
s = set() # 定义一个空的集合
s.add(1) # 往集合s添加元素1
print(s) # {1}

 

s.update(x):也可以添加元素,且参数x可以是列表,元组,字典等
s = set()
s.update([1,2])
print(s) # {1,2}

 

s.remove( x ):将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
s = {1,2,3,4}
s.remove(1)
print(s) # {2, 3, 4}

 

s.discard( x ):也是移除集合中的元素,且如果元素不存在,不会发生错误

s = {1,2,3,4}
s.discard(1)
print(s) # {2, 3, 4}

 

s.pop():会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。
s = {1,2,'java','pythonb'}
​
print(s.pop()) 

 

s.clear():清空集合
x in s:判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。
set1.difference(set2):返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。返回新的集合。

小案例:返回一个集合,元素包含在集合 x ,但不在集合 y :

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
 
z = x.difference(y) 
 
print(z) # {'cherry', 'banana'}

 

set1.difference_update(set2) 从集合1中移除两个集合中都存在的元素。集合2不变。
s1 = {"apple", "banana", "cherry"}
s2 = {"google", "microsoft", "apple"}
 
s1.difference_update(s2) 
print(s1) # {'cherry', 'banana'}
print(s2) # {'apple', 'microsoft', 'google'}

 

set.intersection(set1, set2 ... etc)方法用于返回两个或多集合中都包含的元素,即交集。返回一个新的集合
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
c = {'java','c','apple'}
 
z = x.intersection(y,c)
print(z) # {'apple'}

 

set.intersection_update(set1, set2 ... etc):求交集

不同于 intersection() 方法,因为 intersection() 方法是返回一个新的集合,而 intersection_update() 方法是在原始的集合上移除不相同的元素。

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
c = {'java','c','apple'}
 
x.intersection_update(y,c)
print(x) # {'apple'}

 

isdisjoint() 方法用于判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "facebook"}
 
z = x.isdisjoint(y) 
 
print(z) #True

 

issubset() 方法用于判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,否则返回 False。
#判断集合 x 的所有元素是否都包含在集合 y 中:
x = {"a", "b", "c"}
y = {"f", "e", "d", "c", "b", "a"} 
z = x.issubset(y) 
print(z) # True

 

issuperset() 方法用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False
# 判断集合 y 的所有元素是否都包含在集合 x 中:
x = {"f", "e", "d", "c", "b", "a"}
y = {"a", "b", "c"}
z = x.issuperset(y) 
print(z) #True

 

remove() 方法用于移除集合中的指定元素。

不同于 discard() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。

x = {"apple", "banana", "cherry"}
x.remove('apple')
print(x) # {'cherry', 'banana'}

 

symmetric_difference() 方法返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。返回一个新的集合。
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"} 
z = x.symmetric_difference(y) 
print(z) # {'google', 'cherry', 'banana', 'runoob'}

 

symmetric_difference_update() 方法移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
# 在原始集合 x 中移除与 y 集合中的重复元素,并将不重复的元素插入到集合 x 中:
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"} 
x.symmetric_difference_update(y) 
print(x) # {'google', 'cherry', 'banana', 'runoob'}

 


union() 方法返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。
# 合并两个集合,重复元素只会出现一次:
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
 
z = x.union(y) 
 
print(z) # {'cherry', 'runoob', 'google', 'banana', 'apple'}

 

 

标签:apple,cherry,元素,print,集合,banana
来源: https://www.cnblogs.com/yemeiivan-zhang/p/12593292.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有