集合(set)是一个无序的非重复元素序列,可以使用大括号{}或set()函数来创建。它是Python中一个非常重要且经常使用的概念。无论是在日常开发过程中,还是在面试过程中,我们都会经常遇到。今天,我们就来了解一下11种“不为人知”的集合用法。difference(set)set_1.difference(set_2):此方法可帮助您获取两个集合之间的差异,换句话说,它可以让您获取set_1中存在但给定集合(set_2)中不存在的元素。#示例1recepie_requirements={'orange','chocolate','salt','pepper'}what_I_have={'apple','banana','salt'}#我必须买橙子巧克力胡椒粉('我必须买',*recepie_requirements.difference(what_I_have))#example2all_subscribers={"aya","john","smith","sparf","kyle"}admins={"aya","sparf"}users=all_subscribers.difference(admins)#{'kyle','smith','john'}print(users)union(set)set_1.union(set_2):(set_1Uset_2)这个set方法返回一个包含set_1和set_2的元素的集合,此外,返回的集合仅包含唯一元素。admins={'aya','sparf'}users={'aya','kyle','smith','john'}all_subscribers=admins。union(users)#{'smith','aya','sparf','kyle','john'}print(all_subscribers)intersection(set)set_1.intersection(set_2):取两个集合的交集,只返回set_1和set_2中都存在的元素。shop={'orange','pepper','banana','sugar'}what_I_have={'orange','sugar'}#我不应该买{'orange','sugar'}因为我有!print(f'Ishouldnotbuy{shop.intersection(what_I_have)}becauseIhavethem!')issubset()set_1.issubset(set_2):检查set_1的所有元素是否存在于set_2中。nearest_library_books={“当下的力量”,“我们为什么睡觉”,“富爸爸穷爸爸”}necessary_books={“原子习惯”,“48条权力法则”,“我们为什么睡觉”}ifnecessary_books.issubset(nearest_library_books):print('是的,你可以从最近的图书馆购买这些书')else:print('不幸的是,你必须去另一个图书馆')#不幸的是,你必须去另一个图书馆issuperset()set_1.issuperset(set_2):检查set_2的所有元素是否存在于set_1中。nearest_library_books={"thepowerofnow",'whywesleep','richdadpoordad'}necessary_books={'atomichabits','the48lawsofpower','whywesleep'}ifnearest_library_books.issuperset(necessary_books):print('是的,你可以从最近的图书馆购买这些书')else:print('不幸的是,你必须去另一个图书馆')#不幸的是,你必须去另一个图书馆isdisjoint(set)isdisjoint(set):检查这两个集合是否不包含相同的元素。set_1={12,38,36}set_2={4,40,12}#表示可以set_1元素-set_2元素==0?can_substruction_be_zero=set_1.isdisjoint(set_2)print(can_substruction_be_zero)#Falsediscard(value),remove(value),pop()pop():从集合中删除一个随机元素。discard(value):删除集合中的指定元素,如果该元素不存在,则不会引发错误。remove(value):从集合中移除指定的元素,如果该元素不存在则引发错误。users={"AyaBouchiha","JohnDoe","KyleSmith","NaboSnay"}deleted_account='AyaBouchiha'users.discard(deleted_account)users.discard('嗨!')print(users)#{'KyleSmith'、'JohnDoe'、'NaboSnay'}用户。remove('KyleSmith')print(users)#{'NaboSnay','JohnDoe'}用户。pop()print(users)#{'JohnDoe'}users.remove('Hello!')#KeyErrorclear()clear():删除集合中的所有元素。countries={'摩洛哥','英国','西班牙','美国','英国'}print(len(countries))#4countries.clear()print(countries)#set()print(len(countries))#0copycopy():这个方法可以让你得到指定元素集的副本countries={'Morocco','UK','Spain','USA','UK'}print(countries)#{'UK','摩洛哥','西班牙','美国'}print(countries.copy())#{'英国','摩洛哥','西班牙','美国'}以上就是本次分享的全部内容,如果觉得文章还不错,欢迎关注公众号:Python编程学习圈,每日干货分享,发送“J”还可以领取海量学习资料,涵盖Python电子书、教程、数据库编程、Django、爬虫、云计算等。或者去编程学习网了解更多编程技术知识。
