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实时监控cpu小工具
Jun 21 Python
浅析python继承与多重继承
Sep 13 Python
Python爬取商家联系电话以及各种数据的方法
Nov 10 Python
Python3实现腾讯云OCR识别
Nov 27 Python
Python数据集切分实例
Dec 08 Python
Python3使用TCP编写一个简易的文件下载器功能
May 08 Python
Python画图实现同一结点多个柱状图的示例
Jul 07 Python
Python调用C语言的实现
Jul 26 Python
python:解析requests返回的response(json格式)说明
Apr 30 Python
Python字符串格式化常用手段及注意事项
Jun 17 Python
pytorch 计算ConvTranspose1d输出特征大小方式
Jun 23 Python
一个入门级python爬虫教程详解
Jan 27 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中的foreach问题
2013/06/30 PHP
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
JQuery中使用Ajax赋值给全局变量异常的解决方法
2014/01/10 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
jQuery实现下拉框选择图片功能实例
2015/08/08 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
Vue自定义指令使用方法详解
2017/08/21 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
2019/10/26 jQuery
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
python中cPickle类使用方法详解
2018/08/27 Python
Python实现钉钉发送报警消息的方法
2019/02/20 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
如何基于pythonnet调用halcon脚本
2020/01/20 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
一年级评语大全
2014/04/23 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
辣妈辣妹观后感
2015/06/10 职场文书
《纸船和风筝》教学反思
2016/02/18 职场文书
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫