1

次の行数のファイルが 2 つあります。

file1 - 110433003
file2 - 4838810

これらの間で共通のフレーズを見つける必要があります。各行の形式は次のとおりです。

p1 ||| p2 ||| .......

file1 の p1 を file2 の p2 にすることができます。残念ながら、私が書いたコードはこれを行うには時間がかかりすぎています。

import sys
import os

if(len(sys.argv)<2):
        print 'python CommonPhrases.py enFr hrEn commonFile'
        sys.exit()
enFr = open(sys.argv[1],'r')
hrEn = open(sys.argv[2],'r')
common = open(sys.argv[3],'w')
sethrEn = set([])
setenFr= set([])
for line in hrEn:
        englishPhrase = line.split(' ||| ')[1]
        sethrEn.add(englishPhrase)

for line in enFr:
        englishPhrase = line.split(' ||| ')[0]
        if(englishPhrase in sethrEn):
                common.write(englishPhrase+'\n')

これを行うより速い方法はありますか?

ありがとう

4

2 に答える 2