如何使用表示单词在列表中重复的次数的值创建字典?
x = ["hi", "hi", "bye", "see", "you", "later"] for i in x:
sum = x.count(i)
y = dict((i, sum) for i in x)
print(y)
当我打印此代码时,它给了我一个关键值为1的字典。但是,我试图实现的是字典中的值是列表中每个单词重复的次数。所以,对于这个例子:{'hi':2,'bye':1,'see':1,'you':1,'later':1}是我在输入时想要达到的输入X。谁能帮我?谢谢:)如何使用表示单词在列表中重复的次数的值创建字典?
回答:
defaultdict适合这种任务。
from collections import defaultdict x = ["hi", "hi", "bye", "see", "you", "later"]
y = defaultdict(int)
for key in x:
y[key] += 1
print(y)
print(dict(y))
添加计数器版本。如评论(比defaultdict更容易)。
from collections import Counter x = ["hi", "hi", "bye", "see", "you", "later"]
y = Counter(x)
print(y)
添加不导入模块。
x = ["hi", "hi", "bye", "see", "you", "later"] y = dict()
for key in x:
if not key in y:
# y.update({key: 1})
y[key] = 1
else:
y[key] += 1
print(y)
回答:
,你可以有这样的事情
x = ["hi", "hi", "bye", "see", "you", "later"] y = {i:x.count(i) for i in x}
print(y)
,其结果将是
{'bye': 1, 'hi': 2, 'later': 1, 'see': 1, 'you': 1}
以上是 如何使用表示单词在列表中重复的次数的值创建字典? 的全部内容, 来源链接: utcz.com/qa/259461.html