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}

这会将 中的每一行fstrips()去掉空格,将其转换为键,并将标签的长度作为值。

如果您打算计算它们,请使用collection.Counter

from collections import Counter

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

这会从文件中获取每个标签(再次strip()删除额外的空格),并且Counterdict 将为您提供文件中每个标签的计数(因此,如果标签foo出现两次,nsize['foo']则为 2)。

于 2013-01-08T18:05:23.367 回答