【问题标题】:count the number of times each alphabet appears in a word using dictionary使用字典计算每个字母在单词中出现的次数
【发布时间】:2021-12-27 05:41:30
【问题描述】:
我已经找到了解决办法
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}
【问题讨论】:
标签:
python
string
dictionary
count
【解决方案1】:
试试这个:
s= input("input string: ")
for n in set(s):
print({n:s.count(n)})
set 给出所有值而不重复。这意味着您的代码现在不会打印出重复的字母。
【解决方案2】:
你也可以这样做:-
dict = {}
text = input()
for letter in text:
dict[letter] = text.count(letter)
print (dict)
【解决方案3】:
为了获得不重复以及 utf 值顺序
你可以这样做:
>>> s= input("input string: ")
input string: qwertyuiop lorem doge milk honeybee
>>> mydict = {n:s.count(n) for n in s}
>>> 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
【解决方案4】:
s= input("input string: ")
d=dict()
for n in s:
if n in d:
d[n]+=1
else:
d[n]=1
print(d)
输出
输入字符串:Python 是一种解释型高级通用编程语言
{'P':1,'y':1,'t':3,'h':3,'o':3,'n':6,
'':7,'i':4,'s':2,'a':5,'e':9,'r':6,'p':4,'d':1,'g' :
6, '-': 2, 'l': 4, 'v': 1, 'u': 2, 'm': 2}