如何解决“TypeError:只能将str(而不是int)连接到str”

2024-05-13 04:25:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一个无法解决的类型错误

这是为字典构造计数器:

counts = dict()
names = ['csev','cwen', 'csev', 'zqian', 'cwen']

#makes new tally for new names and updates existing names
for name in names :
    if name not in counts:
        counts[name] = 1
    else:
        counts[name] = counts[name + 1]

print(counts)

应输出:

{'csev':2, 'zqian':1, 'cwen':2}

Tags: namein类型newfor字典names错误
2条回答

将第10行改为

counts[name] = counts[name]+1

即使您唯一的问题是counts[name + 1](应该是counts[name] + 1,因为您希望增加计数而不是名称),您也应该考虑使用collections.Counter来执行此任务:

from collections import Counter
names = ['csev', 'cwen', 'csev', 'zqian', 'cwen']
counts = Counter(names)

虽然Counter是一个类似dict的对象,但是如果您想要一个dict对象,请使用:

counts = dict(Counter(names))

相关问题 更多 >