Python求两个list的差集、交集与并集的方法
本文实例讲述了Python求两个list的差集、交集与并集的方法。分享给大家供大家参考。具体如下:
list就是指两个数组之间的差集,交集,并集了,这个小学数学时就学过的东西,下面就以实例形式对此加以分析。
一.两个list差集
如有下面两个数组:
a = [1,2,3]
b = [2,3]
想要的结果是[1]
下面记录一下三种实现方式:
1. 正常的方式
ret = []
for i in a:
if i not in b:
ret.append(i)
2. 浓缩版
ret = [ i for i in a if i not in b ]
3. 另一版
ret = list(set(a) ^ set(b))
个人更喜欢第三种实现方式
二. 获取两个list 的并集
print list(set(a).union(set(b)))
三. 获取两个 list 的差集
print list(set(b).difference(set(a))) # b中有而a中没有的
希望本文所述对大家的Python程序设计有所帮助。
相关推荐
-
python求素数示例分享
复制代码 代码如下: # 判断是否是素数def is_sushu(num): res=True for x in range(2,num-1): if num%x==0: res=False return res return res # 打印出素数列表print ([x for x in range(1000) if is_sushu(x)])
-
python求列表交集的方法汇总
本文实例汇总了python求列表交集的方法.分享给大家供大家参考.具体方法如下: 交集对于给定的两个集合A 和 集合B 的交集是指含有所有既属于 A 又属于 B 的元素,而没有其他元素的集合叫交集了,下面给出几个python求列表交集例子供大家参考. 方法1 遍历b1,如果某个元素同时也存在于b2中,则返回 复制代码 代码如下: b1=[1,2,3] b2=[2,3,4] b3 = [val for val in b1 if val in b2] print b3 运行结果如下 复制代码 代码如
-
Python求导数的方法
本文实例讲述了Python求导数的方法.分享给大家供大家参考.具体实现方法如下: def func(coeff): sum='' for key in coeff: sum=sum+'+'+str(key)+'*'+'x'+'**'+str(coeff[key]) return sum[1:] from sympy import * from sympy.core.sympify import SympifyError expr = func({2:0,3:1,4:2,5:7}) x = Sym
-
利用python求解物理学中的双弹簧质能系统详解
前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定.假定没有外力时,两个弹簧的长度为L1和L2. 由于两物体有重力,那么在平面上形成摩擦力,那么摩擦系数分别为b1和b2.所以可以把微分方程写成这样: 这是一个二阶的微分方程,为了使用python来求解,需要把它转换为一阶微分方程
-
python求crc32值的方法
本文实例讲述了python求crc32值的方法.分享给大家供大家参考.具体实现方法如下: 要想求CRC值,前面要import binascii binascii.crc32(v) 求出了v的crc32值,这是一个long型,形如-1456387L,把这个值&0xffffffff得到的值形如48a213L的形式. 然后把这个值用16进制表示出来. 具体代码如下: def _crc32(self, v): """ Generates the crc32 hash of
-
Python中用max()方法求最大值的介绍
max() 方法返回其参数最大值:最接近正无穷大的值. 语法 以下是max()方法的语法: max( x, y, z, .... ) 参数 x -- 这是一个数值表达式. y -- 这也是一个数值表达式. z -- 这是一个数值表达式. 返回值 此方法返回其参数的最大值. 例子 下面的例子显示了max()方法的使用. #!/usr/bin/python print "max(80, 100, 1000) : ", max(80, 100, 1000) print "max(-
-
python求众数问题实例
本文实例讲述了python求众数问题的方法,是一个比较典型的应用.分享给大家供大家参考.具体如下: 问题描述: 多重集中重数最大的元素称为众数...就是一个可以有重复元素的集合,在这个集合中重复的次数最多的那个数就叫它的众数... 如S = [1,2,2,2,3,5] 重数是2,其重数为3 实例代码如下: list_num = [] list_num_count = 0 dict_num ={} #从文件读入,文件第一行为集合中元素的个数,以后每一行为一个元素 list_num_count =
-
python求斐波那契数列示例分享
复制代码 代码如下: def getFibonacci(num): res=[0,1] a=0 b=1 for x in range(0,num): if x==a+b: res.append(x) a,b=b,a+b return res res=getFibonacci(1000)print(res) #递归a=[0,1]qian=0def fibna(num,qian): print(num) he=num+qian if he<1000: a.append(he) qian
-
python里对list中的整数求平均并排序
问题 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0~100之间的随机整数, (1)将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输出出来. (2)将这40个成绩按照从高到低的顺序输出出来. 解决(python) #! /usr/bin python #coding:utf-8 from __future__ import division #实现精确的除法,例如4/3=1.333333 import random def make_scor
-
python求解水仙花数的方法
本文实例讲述了python求解水仙花数的方法.分享给大家供大家参考.具体如下: 一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数. #!/usr/bin/python def get_flower(n, ofile): D_pow=[pow(i,n) for i in range(0,10)] V_min=1*pow(10,n-1) V_max=sum((9*pow(10,x) for x in range(0,n))) T_count=0 print D
随机推荐
- 自己动手打造ajax图片上传(网上没有的)
- jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
- 利用linux的timerfd_create实现计时器示例分享
- spring之Bean的生命周期详解
- php通过sort()函数给数组排序的方法
- php 动态执行带有参数的类方法
- asp知识整理笔记1(问答模式)
- c#使用Socket发送HTTP/HTTPS请求的实现代码
- Android中的android:layout_weight使用详解
- Android 仿苹果IOS6开关按钮
- javascript中的new使用
- Javascript入门学习第七篇 js dom实例操作第1/2页
- Material Design系列之Behavior上滑显示返回顶部按钮
- 桌面中心(一)创建数据库
- Android中AsyncTask异步任务使用详细实例(一)
- 破解DHCP网络服务之迷
- Android自定义PopWindow实现QQ、微信弹出菜单效果
- 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器
- Angular5集成eventbus的示例代码
- 使用nginx正向代理实现内网域名转发过程解析