python中求两个List的交集、并集和差集
直接上代码,有三种方法,第三种调用库函数效率最高
# ! /usr/bin/env python
# encoding:utf-8 if __name__ == '__main__':
a = [1,2,3,4,5]
b = [2,3,6,7]
u =[]
dif =[]
intersec = [] '''方法一,最简单的方法,容易想到的'''
for item in a:
u.append(item)
if item in b:
intersec.append(item)
if item not in b:
dif.append(item)
for key in b:
u.append(key)
print('u is ',list(set(u))) #u is [1, 2, 3, 4, 5, 6, 7]
print('dif is ', dif) #dif is [1, 4, 5]
print('intersec is ', intersec) #intersec is [2, 3] '''方法二'''
a = [1,2,3,4,5]
b = [2,3,6,7]
intersec = [item for item in a if item in b]
dif = [item for item in a if item not in b] #不能放在最后,因为b.extend时b已经被改变了
b.extend([i for i in a])
u = b print('u is ', list(set(u))) # u is [1, 2, 3, 4, 5, 6, 7]
print('dif is ', dif) # dif is [1, 4, 5]
print('intersec is ', intersec) # intersec is [2, 3] '''方法三,调用库函数,集合操作'''
a = [1,2,3,4,5]
b = [2,3,6,7]
intersec = list(set(a).intersection(set(b)))
u = list(set(a).union(set(b)))
dif = list(set(a).difference(set(b)))
print('u is ', u) # u is [1, 2, 3, 4, 5, 6, 7]
print('dif is ', dif) # dif is [1, 4, 5]
print('intersec is ', intersec) # intersec is [2, 3]
python中求两个List的交集、并集和差集的更多相关文章
- SQLServer中求两个字符串的交集(字符串以符号分隔)
两个字符串,以特定符号分隔(例如‘,’号),求交集 第一种情况: declare @m varchar(100),@n varchar(100)select @m=',2,3,5,7,8,9,10,' ...
- python中对两个 list 求交集,并集和差集
python中对两个 list 求交集,并集和差集: 1.首先是较为浅白的做法: >>> a=[1,2,3,4,5,6,7,8,9,10] >>> b=[1,2,3 ...
- 求两个集合的交集和并集C#
我是用hashset<T>来实现的 具体如代码所示 using System; using System.Collections.Generic; using System.Linq; u ...
- java用最少循环求两个数组的交集、差集、并集
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List ...
- java使用bitmap求两个数组的交集
一般来说int代表一个数字,但是如果利用每一个位 ,则可以表示32个数字 ,在数据量极大的情况下可以显著的减轻内存的负担.我们就以int为例构造一个bitmap,并使用其来解决一个简单的问题:求两个数 ...
- Python中的两种结构dict和set
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 假设要根据同学的名字查找对应的成绩 如果 ...
- python(leetcode)-350两个数组的交集
给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5 ...
- java求两个集合的交集和并集,比较器
求连个集合的交集: import java.util.ArrayList; import java.util.List; public class TestCollection { public st ...
- [LeetCode] 160. Intersection of Two Linked Lists 求两个链表的交集
Write a program to find the node at which the intersection of two singly linked lists begins. For ex ...
随机推荐
- Mybatis 系列3-结合源码解析properties节点和environments节点
[Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...
- crm 任务 状态
ActivityPointer 取消状态:statecode = 2 statuscode = 6 已完成状态:statecode = 1 statuscode = 5
- spark使用hadoop native库
默认情况下,hadoop官方发布的二进制包是不包含native库的,native库是用C++实现的,用于进行一些CPU密集型计算,如压缩.比如apache kylin在进行预计算时为了减少预计算的数据 ...
- Java - 28 Java 泛型
Java 泛型 如果我们只写一个排序方法,就能够对整型数组.字符串数组甚至支持排序的任何类型的数组进行排序,这该多好啊. Java泛型方法和泛型类支持程序员使用一个方法指定一组相关方法,或者使用一个类 ...
- SQL with(unlock)与with(readpast)
所有Select加 With (NoLock)解决阻塞死锁,在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAS ...
- ELK新手教程——pomelo + log4js + ELK(一)
随着项目越来越庞大,日志的数量也随之增多,游戏上线后的日志量肯定更多了,所以对日志的收集.存储.查询就非常重要了,开源界第一日志分析系统ELK必不可少. ELK系统由Elasticsearch(分布式 ...
- PowerDesigner 物理数据模型(PDM) 说明
ref: https://blog.csdn.net/tianlesoftware/article/details/6874067 一. PDM 介绍 物理数据模型(Physical Data ...
- mysql查询当前时间,一天内,一周,一个月内的sql语句
查询一天:select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ...
- mac OS 安装maven遇到问题e45: 'readonly' option is set
1.下载 Maven, 并解压到某个目录.例如/Users/yintingting/apache-maven-3.3.9 2.打开Terminal,输入以下命令,设置Maven classpath v ...
- Robot Operating System (ROS)学习笔记---创建简单的机器人模型smartcar
搭建环境:XMWare Ubuntu14.04 ROS(indigo) 转载自古月居 转载连接:http://www.guyuehome.com/243 一.创建硬件描述包 已创建catkin_ ...