0

2 つのファイルがあります。最初のファイルには用語とその頻度が含まれます。

table 2
apple 4
pencil 89

2 番目のファイルは辞書です。

abroad
apple
bread
...

最初のファイルに 2 番目のファイルの単語が含まれているかどうかを確認したい。たとえば、最初のファイルと 2 番目のファイルの両方に「apple」が含まれています。私はpythonが初めてです。私は何かを試してみますが、うまくいきません。私たちを手伝ってくれますか ?ありがとうございました

for line in dictionary:
    words = line.split()
    print words[0]

for line2 in test:
    words2 = line2.split()
    print words2[0]
4

4 に答える 4

3

それはあなたを助けるかもしれません:

file1 = set(line.strip() for line in open('file1.txt'))

file2 = set(line.strip() for line in open('file2.txt'))

for line in file1 & file2:

    if line:

        print line
于 2013-05-03T09:07:15.100 に答える
2

あなたの最初の二重リストtry.txtと単一リストがありますtry_match.txt

f = open('try.txt', 'r')
f_match = open('try_match.txt', 'r')
print f
dictionary = []
for line in f:
    a, b = line.split()
    dictionary.append(a)

for line in f_match:
    if line.split()[0] in dictionary:
        print line.split()[0]
于 2013-05-03T09:21:26.910 に答える
2

すべきことは次のとおりです。

  • まず、簡単に検索できる場所にすべての辞書の単語を配置する必要があります。そうしないと、別のファイルの 1 つの単語をチェックするたびに、辞書ファイル全体を読み取る必要があります。

  • 次に、ファイル内の各単語が、辞書ファイルから抽出した単語に含まれているかどうかを確認する必要があります。

最初の部分では、listまたはのいずれかを使用する必要がありますset。これら 2 つの違いはlist、アイテムを配置した順序が維持されることです。Asetは順序付けされていないため、辞書ファイルから最初に読み取った単語は関係ありません。また、setアイテムを検索するときは、それが目的であるため、 a の方が高速です。

アイテムがセットに含まれているかどうかを確認するitem in my_setには、True または False のいずれかを実行できます。

于 2013-05-03T09:08:38.373 に答える