Python 如何从字符串创建新词典?
我有一个字符串:Python 如何从字符串创建新词典?,python,Python,我有一个字符串:my_str=“abra cadabra” 我需要创建一个新的字典,字典中的键是我的单词中的字母,值应该是每个字母的数量。 例如: my_str = "abra cadabra" output >> {'a': 5, 'b': 2, 'r': 2, 'c': 1, 'd': 1} 我得到的是-{'a':5,'b':5,'r':5,'c':5,'d':5}试试这个: my_str = "abra cadabra" my_set
my_str=“abra cadabra”
我需要创建一个新的字典,字典中的键是我的单词中的字母,值应该是每个字母的数量。
例如:
my_str = "abra cadabra"
output >>
{'a': 5, 'b': 2, 'r': 2, 'c': 1, 'd': 1}
我得到的是-{'a':5,'b':5,'r':5,'c':5,'d':5}
试试这个:
my_str = "abra cadabra"
my_set = set(my_str)
my_set.discard(" ")
my_dict = {}
for key in my_set:
my_dict[key] = my_str.count(key)
print(my_dict)
可以用来做这个
例如:
from collections import Counter
my_str = "abra cadabra"
my_str = my_str.replace(" ", "")
c = Counter(list(my_str))
print('{}\n{}\n{}'.format(c, c.keys(), c.values()))
输出:
Counter({'a': 5, 'b': 2, 'r': 2, 'c': 1, 'd': 1})
dict_keys(['a', 'b', 'r', 'c', 'd'])
dict_values([5, 2, 2, 1, 1])
您可以像普通dict一样迭代键和值。您的代码是什么?如果k.strip()},我可以使用
output={k:5 for k in set(my_str)生成该输出,但这似乎是错误的:这里有一个内置的collections.Counter
函数用于此目的。@Barmar只是一个快速纠正计数器对象不是函数对吗?是的,但你可以像使用range()一样使用它
像函数一样。@Jab我的意思是官方文档页面上的大多数“函数”在技术上也不是函数。