Python 3.x Python3-如何从列表中读取作为键的单词,然后计算它们的出现次数并将其作为值存储到键中

Python 3.x Python3-如何从列表中读取作为键的单词,然后计算它们的出现次数并将其作为值存储到键中,python-3.x,dictionary,keyvaluepair,Python 3.x,Dictionary,Keyvaluepair,我从包含以下内容的文件中获取信息: 1:Record:Place1:Ext12 2:记录:地点2:Ext2 3:记录:地点1:Ext19 4:记录:地点1:Ext12 我试图将单词(如Place1和Place2)作为键存储在字典中,然后计算它们的出现次数,并将整数count作为值分别存储到这些键中 file = open('./Records.txt', mode='r') d_file = file.read() location = dict() count = 0 for item i

我从包含以下内容的文件中获取信息:

1:Record:Place1:Ext12
2:记录:地点2:Ext2
3:记录:地点1:Ext19
4:记录:地点1:Ext12

我试图将单词(如Place1和Place2)作为键存储在字典中,然后计算它们的出现次数,并将整数
count
作为值分别存储到这些键中

file = open('./Records.txt', mode='r')
d_file = file.read()

location = dict()
count = 0

for item in d_file.splitlines():
    items = item.split(':')
    key = items[2]
    if key == items[2]:
       count += 1
       location[key] = count

print(location)
“集合”模块中有一个功能。(点击阅读官方文件)

这正是你想要的。它接受一个iterable或映射,并返回一个dict键和出现次数作为值

from collections import Counter
#open file, etc
keys = [item.split(':')[2] for item in d_file.splitlines()]
print(Counter(keys))
在上面的代码片段中,将根据您的格式列出所有出现的键,然后打印出现次数的字典

假定文件的行格式正确,因此存在
item.split(':')[2]
。我建议看一下这个答案,以获得更安全的str分区