91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Python實現一個快速比較大文件的功能

發布時間:2020-11-04 18:03:15 來源:億速云 閱讀:150 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關使用Python實現一個快速比較大文件的功能,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

解決方法

利用set()的different(方法)可快速比較,兩個set集合的不同之處,也就是對集合進行數學運算

假設:數據1擁有858882條記錄,數據2有360029條記錄,快速挑選出數據2中而不存在與數據1中的數據

方法:先將兩個文件中的數據讀入兩個list:data1和data2,然后通過:set(data2).difference(set(data1)),獲取data2與data1的差集

下面為一個小的demo,可以看到近百萬級的數據,比較出差集也就需要1秒左右,效率不是一般的高

import time
t1 = time.time()
data1 = []
for i in open("inDB.txt","r",encoding="utf-8"):
  i = i.strip("\n")
  i = i.lower()
  data1.append(i)
data2 = []
for i in open("data/18年.filename","r",encoding="utf-8"):
  i = i.strip("\n")
  i = i.lower()
  data2.append(i)
newdata = set(data2).difference(set(data1))
t2 = time.time()

print(f"data1 length:\t{len(data1)}")
print(f"data2 length:\t{len(data2)}")
print(f"newdata length:\t{len(newdata)}")
print(f"time use:\t{round(t2 - t1,3)}s")

使用Python實現一個快速比較大文件的功能

list最多可以存放多少條數據呢?

python中list最多可以存放多少條數據呢?

對于這個問題,有個網友調研了python的文檔,結果跟計算機的性能相關

64位機器:2^63-1=9223372036854775807
32位機器:2^31-1=2147483647
import sys
print(sys.maxsize)
print(pow(2,63)-1)
9223372036854775807
9223372036854775807

集合set的操作

內置函數作用
add()為集合添加元素
clear()移除集合中的所有元素
copy()拷貝一個集合
difference()返回多個集合的差集
difference_update()移除集合中的元素,該元素在指定的集合也存在。
discard()刪除集合中指定的元素
intersection()返回集合的交集
intersection_update()返回集合的交集。
isdisjoint()判斷兩個集合是否包含相同的元素,如果沒有返回 True,否則返回 False。
issubset()判斷指定集合是否為該方法參數集合的子集。
issuperset()判斷該方法的參數集合是否為指定集合的子集
pop()隨機移除元素
remove()移除指定元素
symmetric_difference()返回兩個集合中不重復的元素集合。
symmetric_difference_update()移除當前集合中在另外一個指定集合相同的元素,并將另外一個指定集合中不同的元素插入到當前集合中。
union()返回兩個集合的并集
update()給集合添加元素

關于使用Python實現一個快速比較大文件的功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潞城市| 庐江县| 资阳市| 榆社县| 仙桃市| 青神县| 渝北区| 竹山县| 湘乡市| 郎溪县| 加查县| 贵州省| 泌阳县| 武山县| 周至县| 湘乡市| 永平县| 吕梁市| 贵阳市| 吉隆县| 新竹县| 营口市| 泗水县| 汉源县| 四川省| 托克逊县| 建湖县| 永善县| 桦南县| 蛟河市| 鄂伦春自治旗| 五台县| 昂仁县| 富顺县| 浦北县| 栖霞市| 乌拉特后旗| 手游| 乃东县| 涿州市| 惠水县|