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获取文件所在目录和文件名的方法
Jan 12 Python
Python编程之字符串模板(Template)用法实例分析
Jul 22 Python
python解析含有重复key的json方法
Jan 22 Python
python Jupyter运行时间实例过程解析
Dec 13 Python
Django restframework 框架认证、权限、限流用法示例
Dec 21 Python
使用python 计算百分位数实现数据分箱代码
Mar 03 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
Mar 23 Python
Python3实现飞机大战游戏
Apr 24 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
May 13 Python
Python计算信息熵实例
Jun 18 Python
详解Python的爬虫框架 Scrapy
Aug 03 Python
python基于tkinter实现gif录屏功能
May 19 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
关于php支持分块与断点续传文件下载功能代码
2014/05/09 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
PHP实现获取文件后缀名的几种常用方法
2015/08/08 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
PHP基于DOMDocument解析和生成xml的方法分析
2017/07/17 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
javascript 多级checkbox选择效果
2009/08/20 Javascript
jQuery Tools tooltip使用说明
2012/07/14 Javascript
jquery限定文本框只能输入数字即整数和小数
2013/11/29 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
使用jquery提交form表单并自定义action的方法
2016/05/25 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
原生JS实现简单放大镜效果
2017/02/08 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
2017/04/25 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
Python使用matplotlib绘制动画的方法
2015/05/20 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
python 字符串只保留汉字的方法
2018/11/16 Python
Python3.5实现的罗马数字转换成整数功能示例
2019/02/25 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
python 中pyqt5 树节点点击实现多窗口切换问题
2019/07/04 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
python爬虫模拟浏览器的两种方法实例分析
2019/12/09 Python
python IDLE添加行号显示教程
2020/04/25 Python
Django DRF APIView源码运行流程详解
2020/08/17 Python
python 实现"神经衰弱"翻牌游戏
2020/11/09 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
模具专业推荐信
2013/10/30 职场文书
团队精神的演讲稿
2014/05/14 职场文书
2014年法院工作总结
2014/11/24 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
基于python实现银行管理系统
2021/04/20 Python
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS