python--两个list求交并差集

python--两个list求交并差集

2023年7月26日发(作者:)

python--两个list求交并差集在中,数组可以⽤list来表⽰。如果有两个数组,分别要求交集,并集与差集,怎么实现⽐较⽅便呢?

当然最容易想到的是对两个数组做循环,即写两个for循环来实现(舍弃)。def diff(listA,listB): #求交集的两种⽅式 retA = [i for i in listA if i in listB] retB = list(set(listA).intersection(set(listB))) print "retA is: ",retA print "retB is: ",retB #求并集 retC = list(set(listA).union(set(listB))) print "retC1 is: ",retC #求差集,在B中但不在A中 retD = list(set(listB).difference(set(listA))) print "retD is: ",retD retE = [i for i in listB if i not in listA] print "retE is: ",retEdef main(): listA = [1,2,3,4,5] listB = [3,4,5,6,7] diff(listA,listB)if __name__ == '__main__': main()********************************************************retA is: [3, 4, 5]retB is: [3, 4, 5]retC1 is: [1, 2, 3, 4, 5, 6, 7]retD is: [6, 7]retE is: [6, 7]*******************************************************结合代码来看,⼤体上是两种思路:

1.使⽤列表解析式。列表解析式⼀般来说⽐循环更快,⽽且更pythonic显得更⽜逼。

2.将list转成set以后,使⽤set的各种⽅法去处理。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1690307485a329868.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信