Student
当我打印这段代码时,它给了我一个键值为1的字典。但是,我想要实现的是字典中的值是列表中每个单词重复的次数。所以,对于这个例子:{' hi':2,' bye':1,'见':1,'你':1 ,'以后':1}是我在输入x时为输出实现的目标。谁能帮我?谢谢:))
答案 0 :(得分:1)
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)
答案 1 :(得分:1)
你可以有这样的东西
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}