Как создать новый словарь из строки? - PullRequest
0 голосов
/ 14 июля 2020

У меня есть строка: my_str = "abra cadabra" Мне нужно создать новый словарь, ключи в словаре - это буквы в my_str, а значение должно быть количеством каждой буквы. Например:

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}

Ответы [ 2 ]

1 голос
/ 14 июля 2020

Попробуйте следующее:

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)

0 голосов
/ 14 июля 2020

коллекций. Для этого можно использовать счетчик .

Пример:

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])

Вы можете перебирать ключи и значения, как и в обычном диктате.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...