Python3實(shí)現(xiàn)計(jì)算兩個(gè)數(shù)組的交集算法示例
本文實(shí)例講述了Python3實(shí)現(xiàn)計(jì)算兩個(gè)數(shù)組的交集算法。分享給大家供大家參考,具體如下:
問(wèn)題:
給定兩個(gè)數(shù)組,寫一個(gè)方法來(lái)計(jì)算它們的交集。
方案一:利用collections.Counter
的&
運(yùn)算,一步到位,找到 最小次數(shù) 的相同元素。
# -*- 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()) #測(cè)試 arr1 = [1,2,3,4,5] arr2 = [3,4,5,6,7] print(intersect(arr1,arr2))
運(yùn)行結(jié)果:
[3, 4, 5]
方案二:遍歷其中一個(gè)數(shù)組,發(fā)現(xiàn)相同元素時(shí)添加到新列表中,同時(shí)刪去另一個(gè)數(shù)組中的一個(gè)相同元素
# -*- 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 #測(cè)試 arr1 = [1,2,3,4,5] arr2 = [3,4,5,6,7] print(intersect(arr1,arr2))
運(yùn)行結(jié)果:
[3, 4, 5]
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- Python簡(jiǎn)直是萬(wàn)能的,這5大主要用途你一定要知道?。ㄍ扑])
- Python3獲取拉勾網(wǎng)招聘信息的方法實(shí)例
- Python3實(shí)現(xiàn)的旋轉(zhuǎn)矩陣圖像算法示例
- python3對(duì)拉勾數(shù)據(jù)進(jìn)行可視化分析的方法詳解
- python2.7使用plotly繪制本地散點(diǎn)圖和折線圖
- Python時(shí)間序列處理之ARIMA模型的使用講解
- Python代碼實(shí)現(xiàn)刪除一個(gè)list里面重復(fù)元素的方法
- 從0開(kāi)始的Python學(xué)習(xí)014面向?qū)ο缶幊蹋ㄍ扑])
- Python參數(shù)解析模塊sys、getopt、argparse使用與對(duì)比分析
- Python3安裝Pillow與PIL的方法
相關(guān)文章
python執(zhí)行系統(tǒng)命令4種方法與比較
這篇文章主要介紹了python執(zhí)行系統(tǒng)命令4種方法與比較,需要的朋友可以參考下2021-04-04pycharm安裝opencv-python報(bào)錯(cuò)的解決
本文主要介紹了pycharm安裝opencv-python報(bào)錯(cuò)的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07django formset實(shí)現(xiàn)數(shù)據(jù)表的批量操作的示例代碼
這篇文章主要介紹了django-formset實(shí)現(xiàn)數(shù)據(jù)表的批量操作的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Python批量將csv文件轉(zhuǎn)化成xml文件的實(shí)例
將 csv 格式轉(zhuǎn)換成xml格式有許多方法,可以用數(shù)據(jù)庫(kù)的方式,也有許多軟件可以將 csv 轉(zhuǎn)換成xml。但是比較麻煩,本文利用 Python 一鍵批量將 csv 文件轉(zhuǎn)化成 xml 文件。2021-05-05python將unicode和str互相轉(zhuǎn)化的實(shí)現(xiàn)
這篇文章主要介紹了python將unicode和str互相轉(zhuǎn)化的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05Python xlrd模塊導(dǎo)入過(guò)程及常用操作
這篇文章主要介紹了Python xlrd模塊導(dǎo)入過(guò)程及常用操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06