标签:10 set centre python striker print set1 forward
1 # File : learning_set.py 2 # Datetime : 2022/4/10 0010 13:49 3 # 集合 set 4 5 # 集合是一个无序的,不重复的数据组合, 6 # 它的主要作用如下: 7 # 1. 去重复,把一个列表变成集合,就自动去重了 8 # 2. 关系测试,测试两组数据之前的交集、差集、并集等关系 9 10 11 # 1. 集合的创建 12 # 1.1 直接使用{}创建 13 # 例: 14 set1 = {"python", "mysql", "web"} 15 set2 = {1, 2, 3, 4, 5} 16 set3 = {"python", 123, ("人生苦短", "我用python")} 17 18 # 1.2 使用set()函数创建 19 set4 = set() # 创建一个空集合 20 set5 = set("人生苦短,我用python") 21 print(set5) 22 23 # 注意:创建空集合时,只能 使用set()函数实现,{}表示的是创建一个空字典 24 25 list1 = [[1, 3, 5], 123, 456] 26 # set6 = set(list1) #此时会报错,因为list1中元嵌套的列表此时属于不可哈希内容,即列表list中元素索引为0的位置是可变数据类型 27 # 备注 28 # 可以被哈希的数据结构:int、float、str、tuple 和 NoneType。 29 # 不可以被哈希的数据结构:dict、list 和 set。 30 # 关于哈希和不可哈希的数据结构,详细介绍参考链接:https://juejin.cn/post/6844904198711017485 31 32 # 2. 集合的添加和删除 33 # 2.1 向集合中添加元素 使用add()方法实现 如 34 set1.add("人生苦短,我用python") 35 print("使用add()函数向集合中添加元素后", set1) 36 37 # 2.2 从集合中删除元素 38 set1.remove("web") # 从集合中删除指定元素 39 # 注意: 40 # 使用remove删除指定元素时,如果元素不存在会抛出异常, 41 # 在实际操作中,在移除指定元素时最好使用in关键字先判断指定元素是否存在 42 43 print("使用remove()函数从集合中删除指定元素后", set1) 44 45 set1.pop() # 移除一个元素 46 print("使用pop()函数从集合中移除一个元素后", set1) 47 48 set1.clear() # 清空集合 49 print("使用clear()函数清空集合后", set1) 50 51 # 3. 集合的交集,并集,和差集运算 52 # 3.1 交集运算符 & 53 # 3.2 并集运算符 | 54 # 3.3 差集运算符 - 55 56 # 代码实例 57 striker = {"邓肯", "加内特", "马龙"} # 前锋球员名字 58 centre_forward = {"邓肯", "奥尼尔", "姚明"} # 中锋球员名字 59 # 输出既是前锋也是中锋的球员名字 60 print("交集运算", striker & centre_forward) # 等同于 striker.intersection(centre_forward) 61 62 # 输出前锋和中锋的全部球员名字 63 print("并集运算", striker | centre_forward) # 等同于 striker.union(centre_forward) 64 65 # 输出是前锋但不是中锋的球员名字 in A not in B 66 print("差集运算", striker - centre_forward) # 等同于 striker.difference(centre_forward) 67 68 # 输出是中锋但不是前锋的球员名字 in B not in A 69 print("差集运算2", centre_forward - striker) # 等同于 centre_forward.difference(striker) 70 71 # 对称差集(反向交集) 72 print("对称差集", striker ^ centre_forward) # 等同于 striker.symmetric_difference(centre_forward)
标签:10,set,centre,python,striker,print,set1,forward 来源: https://www.cnblogs.com/gdbd/p/16126199.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。