подсчитайте, сколько раз каждый алфавит появляется в слове с помощью словаря

#python #string #dictionary #count

Вопрос:

я уже нашел решение

 s= input("input string: ")  for n in s:  print({n:s.count(n)})  

выход :

входная строка: шоколадный коко

{‘c’: 4} {‘h’: 1} {‘o’: 4} {‘c’: 4} {‘o’: 4} {‘l’: 1} {‘a’: 1} {‘t’: 1} {‘e’: 1} {‘ ‘: 1} {‘c’: 4} {‘o’: 4} {‘c’: 4} {‘o’: 4}

но то, как я могу сделать вывод, не повторяет алфавит. я хочу, чтобы результат был таким :

{‘c’: 4} {‘h’: 1} {‘o’: 4} {‘c’: 4} {‘o’: 4} {‘l’: 1} {‘a’: 1} {‘t’: 1} {‘e’: 1} {‘ ‘: 1}

Ответ №1:

Попробуй это:

 s= input("input string: ")  for n in set(s):  print({n:s.count(n)})  

set дает все значения без повторений. Это означает, что ваш код теперь не будет печатать дубликаты букв.

Ответ №2:

 s= input("input string: ") d=dict() for n in s:  if n in d:  d[n] =1  else:  d[n]=1 print(d)  

выход

входную строку: Python-это интерпретируемый высокоуровневый язык программирования общего назначения
{‘П’: 1, ‘г’: 1, ‘Т’: 3, ‘сек’: 3, ‘О’: 3, ‘Н’: 6, ‘ ‘: 7, ‘я’: 4, ‘ы’: 2, ‘а’: 5, ‘е’: 9, ‘Р’: 6, ‘П’: 4, ‘Д’: 1, ‘г’:
6, ‘-‘: 2, ‘л’: 4, ‘в’: 1, ‘У’: 2, ‘м’: 2}

Ответ №3:

Вы также можете сделать это так:-

 dict = {} text = input() for letter in text:  dict[letter] = text.count(letter) print (dict)  

Ответ №4:

для того, чтобы получить не дублирующиеся, а также в порядке значений utf, вы можете сделать это следующим образом:

 gt;gt;gt; s= input("input string: ") input string: qwertyuiop lorem doge milk honeybee gt;gt;gt; mydict = {n:s.count(n) for n in s} gt;gt;gt; for e in sorted(mydict): ... print(f"{e}: {mydict[e]}") ...   

выход:

 : 4 b: 1 d: 1 e: 6 g: 1 h: 1 i: 2 k: 1 l: 2 m: 2 n: 1 o: 4 p: 1 q: 1 r: 2 t: 1 u: 1 w: 1 y: 2