0

ファイルからいくつかのラベルを抽出したいときに問題があります。私は 2000 のラベルについて話しているのですが、それらをファイルから使用して、ある程度のサイズ特性を持たせたいと考えています。

with open("filename") as f:
    content = f.readlines()

nsize= { "Mary": 1, "John": 1, "Jack": 1, "Ted": 5 }

これは 4 つのラベルの例です。2000年すべてに必要です。それを行う最も簡単な方法は何ですか?

4

1 に答える 1

2

dict 内包表記を使用します。

with open("filename") as f:
    nsize = {el.strip(): len(el.strip()) for el in f}

fこれにより、空白の各行がstrips()取り除かれ、それがキーに変換され、ラベルの長さが値として変換されます。

それらを数えたい場合は、次を使用しますcollection.Counter

from collections import Counter

with open("filename") as f:
    nsize = Counter(el.strip() for el in f)

これにより、ファイルから各ラベルが取得され (ここでも、strip()余分な空白が取り除かれます)、Counterdict はファイル内の各ラベルの数を示します (つまり、ラベルfooが 2 回表示される場合nsize['foo']は 2 です)。

于 2013-01-08T18:05:23.367 に答える