Python3实现计算两个数组的交集算法示例


Posted in Python onApril 03, 2019

本文实例讲述了Python3实现计算两个数组的交集算法。分享给大家供大家参考,具体如下:

问题:

给定两个数组,写一个方法来计算它们的交集。

方案一:利用collections.Counter&运算,一步到位,找到 最小次数 的相同元素。

# -*- coding:utf-8 -*-
#! python3
def intersect(nums1, nums2):
  """
  :type nums1: List[int]
  :type nums2: List[int]
  :rtype: List[int]
  """
  import collections
  a, b = map(collections.Counter, (nums1, nums2))
  return list((a & b).elements())
#测试
arr1 = [1,2,3,4,5]
arr2 = [3,4,5,6,7]
print(intersect(arr1,arr2))

运行结果:

[3, 4, 5]

方案二:遍历其中一个数组,发现相同元素时添加到新列表中,同时删去另一个数组中的一个相同元素

# -*- coding:utf-8 -*-
#! python3
def intersect(nums1, nums2):
  """
  :type nums1: List[int]
  :type nums2: List[int]
  :rtype: List[int]
  """
  res = []
  for k in nums1:
    if k in nums2:
      res.append(k)
      nums2.remove(k)
  return res
#测试
arr1 = [1,2,3,4,5]
arr2 = [3,4,5,6,7]
print(intersect(arr1,arr2))

运行结果:

[3, 4, 5]

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
遗传算法之Python实现代码
Oct 10 Python
Python将多个list合并为1个list的方法
Jun 27 Python
python实现C4.5决策树算法
Aug 29 Python
Python从单元素字典中获取key和value的实例
Dec 31 Python
Python离线安装PIL 模块的方法
Jan 08 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
python实现梯度下降法
Mar 24 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
Django之腾讯云短信的实现
Jun 12 Python
Python实现弹球小游戏
Aug 01 Python
Python+OpenCV图像处理——实现直线检测
Oct 23 Python
Python3获取拉勾网招聘信息的方法实例
Apr 03 #Python
Python3实现的旋转矩阵图像算法示例
Apr 03 #Python
python3对拉勾数据进行可视化分析的方法详解
Apr 03 #Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 #Python
Python时间序列处理之ARIMA模型的使用讲解
Apr 02 #Python
Python代码实现删除一个list里面重复元素的方法
Apr 02 #Python
从0开始的Python学习014面向对象编程(推荐)
Apr 02 #Python
You might like
与空气斗智斗勇的经典《Overlord》,传说中的“无稽之谈”
2020/04/09 日漫
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
javascript编程起步(第五课)
2007/02/27 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
2013/11/07 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
前端跨域的几种解决方式总结(推荐)
2017/08/16 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
Python lambda和Python def区别分析
2014/11/30 Python
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
使用Python中的cookielib模拟登录网站
2015/04/09 Python
python获取本机外网ip的方法
2015/04/15 Python
python数据结构之图的实现方法
2015/07/08 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
实例详解Python模块decimal
2019/06/26 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
TensorFlow低版本代码自动升级为1.0版本
2021/02/20 Python
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
汽车专业学生自我评价
2014/01/19 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
婚庆公司计划书
2014/09/15 职场文书
工程部经理岗位职责
2015/02/02 职场文书
小学三八妇女节活动总结
2015/02/06 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
用golang如何替换某个文件中的字符串
2021/04/25 Golang
Pytorch DataLoader shuffle验证方式
2021/06/02 Python
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server