#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