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中用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求列表交集的方法.分享给大家供大家参考.具体方法如下: 交集对于给定的两个集合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求众数问题的方法,是一个比较典型的应用.分享给大家供大家参考.具体如下: 问题描述: 多重集中重数最大的元素称为众数...就是一个可以有重复元素的集合,在这个集合中重复的次数最多的那个数就叫它的众数... 如S = [1,2,2,2,3,5] 重数是2,其重数为3 实例代码如下: list_num = [] list_num_count = 0 dict_num ={} #从文件读入,文件第一行为集合中元素的个数,以后每一行为一个元素 list_num_count =
-
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求导数的方法
本文实例讲述了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求素数示例分享
复制代码 代码如下: # 判断是否是素数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求解水仙花数的方法.分享给大家供大家参考.具体如下: 一个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
-
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求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定.假定没有外力时,两个弹簧的长度为L1和L2. 由于两物体有重力,那么在平面上形成摩擦力,那么摩擦系数分别为b1和b2.所以可以把微分方程写成这样: 这是一个二阶的微分方程,为了使用python来求解,需要把它转换为一阶微分方程
随机推荐
- 详解React-Native全球化多语言切换工具库react-native-i18n
- javascript类式继承新的尝试
- swift 3.0 正则表达式查找/替换字符的实现代码
- js正则表达式验证大全(收集)
- php 攻击方法之谈php+mysql注射语句构造
- jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
- vue如何使用 Slot 分发内容实例详解
- Docker如何使用link建立容器之间的连接
- 利用PHP扩展vld查看PHP opcode操作步骤
- Python中计算三角函数之cos()方法的使用简介
- 详解js运算符单竖杠“|”与“||”的用法和作用介绍
- MySQL里面的子查询实例
- Android 对话框(Dialog)大全示例(建立你自己的对话框)
- mac上node.js环境的安装测试
- php实现保存周期为1天的购物车类
- jQuery实现带幻灯的tab滑动切换风格菜单代码
- MySQL关键字Distinct的详细介绍
- 解析Jquery取得iframe中元素的几种方法
- 深入理解Webpack 中路径的配置
- SQL Server 安全系统的改进