python集合的运算(交集、并集、差集、补集)
我们在遇到一些问题的时候,使用集合的交集、并集和差集能够更便捷的帮助我们去解决问题,看下面一个例子。
pythonlist差集(python集合差集)
某学校有两个班级,班级A需要学习数学、语文、英语、物理、化学和生物,班级B需要学习数学、语文、英语、政治、地理和历史。
我们可以直接看出A班级和B班级的交集为数学、语文和英语,并集为数学、语文、英语、物理、化学、生物、政治、地理、历史,A和B的差集为物理、化学和生物。
那么怎么使用Python去完成这些运算?
我们先在这里定义两个集合,
因为是求交集,因此A和B的位置调换依然不影响结果。
使用集合求并集的方式同样也是两种方式,一种是使用 ‘|’ 运算符进行操作,一种是使用 union() 方法来实现。
求并集的时候同样不需要注意 A 和 B 的位置关系。
使用集合求差集的方式同样也是两种方式,一种是使用 ‘-’ 运算符进行操作,一种是使用 difference() 方法来实现。
在方法2中注意 A 和 B 的位置不同的时候是有区别的,如果是 A 使用 difference() 方法,那么是输出 A 中有而 B 中没有的元素,如果是 B 使用 difference() 方法,那么是输出 B 中有而 A 中没有的元素。
学习完了集合,四种核心集合我们已经基本掌握,接下来几节我们来通过学习一些字符串的相关操作,学习字符串的过程中会穿插着前面简单介绍过但没仔细讲解的方法及操作。
Python中list,tuple,dict,set的区别和用法
list 相当于数组
tuple 叫元祖,相当于元素不可变数组,只能读
dict 名叫字典,我是听着怪怪的,这东西有点像 json ,又有点像 javascript 中的对象,又有点像 php 中的关联数组
set 是集合,就是元素不可重复,不分顺序。
用法(非全面总结,仅供参考):
一般情况下用 list 足够了,而数据库中读出来的数据集一般是 tuple 形式的,需要明确指定变量名和值对应时,可考虑用 dict ,dict 中的元素是无序的,你一定要通过名称来取。
list1 和 list2 有共同元素,想取交集怎么办呢?这时就要用到 set 了,
交集:set(list1) & set(list2)
并集:set(list1) | set(list2)
差集:set(list1) - set(list2)
集合结果想转回 list 的话用 list() 函数对集合转换,如 list(set(list1) & set(list2))
多学习,多练习,总会进步的。
世人无难事,只怕有心人。
专心投入去攻一件事,不成功也难,就算不成功,也学习到大量知识并积累了大量经验,都是宝贵的。
list是队列,有序可变可重复
tuple是元组,不可变
dict是字典,key-value结构,可变
set是集合,无序可变不重复
Python如何在一个集合里查找除了我提供的元素以外的元素?
Python可以使用difference()方法来查找某个集合里除了你提供的元素以外的元素。示例代码如下:
``` #定义一个集合 my_set = {1, 2, 3, 4, 5}
#定义要排除的元素 removed_elements = {4, 5}
# 求出剩余的元素 remaining_elements = my_set.difference(removed_elements) print(remaining_elements)
#输出结果:{1, 2, 3}
```
可以使用集合的difference()方法,它可以返回一个新的集合,它包含集合中不在另一个给定集合中的所有元素。例如:
,,# 创建集合
,my_set = {1, 2, 3, 4, 5}
,,# 创建另一个集合
,other_set = {2, 3, 4}
,,# 查找除了提供的元素以外的元素
,result_set = my_set.difference(other_set)
,,print(result_set)
,,# 输出
,{1, 5}
可以使用集合的difference()方法,该方法会计算两个集合的差值,返回一个新的集合,其中包含某个集合不包含的元素。例如:#声明两个集合a=set(["Apple","Banana","Cherry","Mango"])b=set(["Apple","Strawberry","Orange"])#计算a的差值diff=a.difference(b)#打印结果print(diff)#结果{'Cherry','Mango','Banana'}
可以使用Python的集合操作符来实现:
# 将bksouwa拆分成多个元素
bksouwa_list = list(bksouwa)
# 求出a集合中除了bksouwa_list中的元素之外的其他元素
result = set(a) - set(bksouwa_list)
# 输出结果
print(result)
请点击输入图片描述
初学者的话可以
data = 'bksouwa'
for each in list(data):
a.remove(each)
最后剩下的就是你要的元素了。
这个可以作为一个思路。
另外用正则表达式感觉可以获得更高的效率。
思路与上面的那个思路是不同了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。