2つのファイルの行の違いを計算する最も効率的な方法は何ですか?

ヴィニシウスモレ:

私はpython list_aとの2つのリストを持っていますlist_blist_a一部の画像リンクを持っており、list_bあまりにも。アイテムの99%は同じですが、私はこれを1%知っている必要があります。すべての余剰アイテムはにあります。list_aつまり、内のすべてのアイテムlist_bはにありlist_aます。私の最初のアイデアはlist_a - list_b = list_cすべてのアイテムを差し引くことlist_cです。私のコードは:

list_a = []
list_b = []
list_c = []

arq_b = open('list_b.txt','r')
for b in arq_b:
    list_b.append(b)

arq_a = open('list_a.txt','r')
for a in arq_a:
    if a not in arq_b:
        list_c.append(a)

arq_c = open('list_c.txt','w')
for c in list_c:
    arq_c.write(c)

ロジックは正しいと思います。アイテムがある場合、コードは高速に実行されます。しかし、私は10アイテム、または1.000、または100.000さえ持っていません。私が持っている78.514.022私の中のアイテムlist_b.txt78.616.777私のリストではlist_a.txtこの表現のコストがわかりませんif a not in arq_bしかし、このコードを実行すると、今年は終了しないと思います。

私のPCには8GBがあり、RAMを爆発させないようにスワップに15GBを割り当てています。

私の質問は、この操作をより効率的にする別の方法があります(高速)?

  • list_a縦ですが、list_bありません。
  • 各アイテムのサイズは次のとおりです。 images/00000cd9fc6ae2fe9ec4bbdb2bf27318f2babc00.png
  • 順序は関係ありません、私は余剰を知りたいです。
ジャン=フランソワ・ファーブル:

最初のファイルのコンテンツのセットを1つ作成してから、単に使用するdifferencesymmetric_difference、違いと呼ぶものに応じて

with open("list_a.txt") as f:
    set_a = set(f)

with open("list_b.txt") as f:
    diffs = set_a.difference(f)

場合は、list_b.txtより多くの項目が含まれlist_a.txtますが、それらを交換または使用したいset_a.symmetric_difference(f)何が必要に応じて、代わりに。

difference(f)機能しますが、set内部で新しいものを構築する必要があります。パフォーマンスはそれほど向上しませんが(引数の型に応じたset issubsetのパフォーマンスの違いを参照)、それよりも短くなります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

2時間の時間間隔で平均を計算する最も効率的な方法は何ですか

Coldfusion / Railo:ファイルの内容を出力する最も効率的な方法は何ですか?fileReadまたはinclude?

matlabで複数の.JPGファイルを読み取る最も効率的な方法は何ですか?

PythonでHDF5ファイルの特定の値へのすべてのパスを見つける最も効率的な方法は何ですか?

テキストファイルの最初と最後の行を取得する最も効率的な方法は何ですか?

リストの2つの辞書間の類似性を計算する最も効率的な方法は何ですか?

データフレームで選択された行のセットで計算を実行する最も効率的な方法は何ですか

特定の場所でインデックスを見つけるための最も簡単で計算効率の高い方法は何ですか?

DataTable 列の合計数を計算する最も効率的な方法は何ですか

複数のソートされた実行を含むファイルから行を取得する最も効率的な方法は何ですか

Node JSでファイルの最初の行のみを読み取る最も効率的な方法は何ですか?

文字列C ++の各文字の頻度を計算する最も効率的な方法は何ですか?

数値の範囲のLCMを計算する最も効率的なアルゴリズムは何ですか?

4500万行のテキストファイルを約20万行のテキストファイルと比較し、小さいファイルから不一致を生成する最も効率的な方法は何ですか?

数字の合計を取得する最も効率的な方法は何ですか?

パワーを計算するための最も効率的なアルゴリズムは何ですか?

最後のメンテナンスからの日付の違いを計算する効率的な方法は何ですか?

NodeJS:非常に大きなファイル(+ 1GB)の最後のXバイトを読み取る最も効率的な方法は何ですか?

テトリススタックの高さプロファイルを最も効率的に計算するにはどうすればよいですか?

テトリススタックの高さプロファイルを最も効率的に計算するにはどうすればよいですか?

2つのnumpy行列のすべての値を比較する最も効率的な方法は何ですか?

2つの数の二乗和の平方根を行う最も効率的な方法は何ですか?

別のファイルの行と一致する1つのファイルの行を削除する最も簡単な方法は何ですか?

単一の重複フィールドを持つCSVの行をマージするPythonで最も効率的な方法は何ですか?

Pythonで指定されたIDを持つ2次元リストの行(のコピー)を返す最も効率的な(最も速い)方法は何ですか?

別のシンボルテーブルを使用してBoostSpirit解析の属性を再計算する最も効率的な方法は何ですか?

Rubyでこの種のファイル内の単語を検索する最も効率的な方法は何ですか

大きなファイルから特定の行を削除する最も速い方法は何ですか?

何千ものmongodbドキュメント内で計算を行うための最も効率的な方法は何ですか?

TOP 一覧

  1. 1

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  2. 2

    ソートされた検索、ターゲット値未満の数をカウント

  3. 3

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  4. 4

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  5. 5

    Ansibleで複数行のシェルスクリプトを実行する方法

  6. 6

    Reactでclsxを使用する方法

  7. 7

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  8. 8

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  9. 9

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  10. 10

    PowerShellの分割ファイルへのヘッダーの追加

  11. 11

    Chromeウェブアプリのウェブビューの高さの問題

  12. 12

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  13. 13

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  14. 14

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  15. 15

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  16. 16

    MLでのデータ前処理の背後にある直感

  17. 17

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  18. 18

    reCAPTCHA-エラーコード:ユーザーの応答を検証するときの「missing-input-response」、「missing-input-secret」(POSTの詳細がない)

  19. 19

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  20. 20

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  21. 21

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

ホットタグ

アーカイブ