我只是想知道我将如何转换字符串,例如“你好那里好”,然后把它变成字典,然后使用这个字典,我想计算字典中每个单词的数量,然后返回它按字母顺序排列。所以在这种情况下它会返回:
[('hello', 1), ('hi', 1), ('there', 2)]
任何帮助将不胜感激
答案 0 :(得分:14)
>>> from collections import Counter
>>> text = "hello there hi there"
>>> sorted(Counter(text.split()).items())
[('hello', 1), ('hi', 1), ('there', 2)]
class collections.Counter([iterable-or-mapping])
Counter
是用于计算可哈希对象的dict
子类。它是一个无序集合,其中元素存储为字典键,其计数存储为字典值。计数允许为任何整数值,包括零或负计数。Counter
类与其他语言的包或多重集类似。
答案 1 :(得分:4)
jamylak对Counter
表现不错。这是一个没有导入Counter
的解决方案:
text = "hello there hi there"
dic = dict()
for w in text.split():
if w in dic.keys():
dic[w] = dic[w]+1
else:
dic[w] = 1
给出
>>> dic
{'hi': 1, 'there': 2, 'hello': 1}