第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在另一個文件中搜索一個文件中的字符串

如何在另一個文件中搜索一個文件中的字符串

慕運維8079593 2023-10-11 15:48:37
我需要在 python 中掃描 2 個文件,并說出 file1 中的哪些單詞也在 file2 中。我制作了一個包含 file2 中所有單詞的列表,然后掃描 file1 中的行是否在列表中。所以這工作得很好,但是大文件(比如 500k)可能需要 1 小時以上,我想知道是否有更快的方法提前致謝(defined var etc and files)a = []for line in var:    a += [line]teller = 0for line1 in new_file:    if line1 not in a:        print(line1, file=filter, end='')    else:        teller += 1        print(line1, file=bad, end='' )print('There were', teller, 'lines that were in the old file.')
查看完整描述

3 回答

?
aluckdog

TA貢獻1847條經(jīng)驗 獲得超7個贊

更快的替代方法是使用集合(只要您可以將兩個文件的內(nèi)容保留在內(nèi)存中):


with open('a.txt', 'r') as a, open('b.txt', 'r') as b:

    a_content = set(a)

    b_content = set(b)


result = a_content.intersection(b_content)


查看完整回答
反對 回復 2023-10-11
?
森林海

TA貢獻2011條經(jīng)驗 獲得超2個贊

如果您擔心速度,那么您應該使用操作系統(tǒng)設施,而不是 Python 循環(huán)。通常,查找單獨行的最快方法是對兩個文件進行排序,然后進行簡單的文件比較。如果你堅持使用Python,那也是一種更快的方法。



查看完整回答
反對 回復 2023-10-11
?
慕勒3428872

TA貢獻1848條經(jīng)驗 獲得超6個贊

您的方法可以工作,但效率非常低,因為您正在遍歷 file2 以查找 file1 中的每個單詞/行。嘗試將 file1 和 file2 都轉為集合,然后比較集合;我很確定 Python 有類似 .intersect 或 .intersection 的東西來比較兩個集合、列表、數(shù)組或其他數(shù)據(jù)結構。



查看完整回答
反對 回復 2023-10-11
  • 3 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號