7-4 统计字符串列表中每个字母出现的次数
本帖最后由 光头小淘七 于 2022-11-12 20:04 编辑真的搞不懂啊 本帖最后由 jackz007 于 2022-11-12 20:18 编辑
d = eval(input())
s = '' . join(d)
for c in set(s) : print(c , ',' , s . count(c))
运行实况:
D:\\Python>python x.py
['abcddswefgrehasd' , 'dfjgiehjgi' , 'nxvsghdytg']
y , 1
c , 1
g , 5
d , 5
t , 1
a , 2
w , 1
e , 3
f , 2
v , 1
r , 1
i , 2
x , 1
b , 1
s , 3
n , 1
j , 2
h , 3
D:\\Python> jackz007 发表于 2022-11-12 20:13
运行实况:
非常感谢但是能解释一下吗,并且他要求从a排序到z
本帖最后由 jackz007 于 2022-11-12 20:48 编辑
光头小淘七 发表于 2022-11-12 20:22
非常感谢但是能解释一下吗,并且他要求从a排序到z
d = eval(input())
s = '' . join(d)
for c in sorted(set(s)) : print(c , ',' , s . count(c))
ok 这个就是排序的结果了,你可以试试。
第 1 行得通过 eval() 到列表 d
d = eval(input())
如果键入 ['abcddswefgrehasd' , 'dfjgiehjgi' , 'nxvsghdytg'],那么,列表 d 的内容就是 ['abcddswefgrehasd' , 'dfjgiehjgi' , 'nxvsghdytg']
第 2 行把 d 内部的所有字符串拼接成一个字符串
s = '' . join(d)
如果 d = ['abcddswefgrehasd' , 'dfjgiehjgi' , 'nxvsghdytg'],则 s = 'abcddswefgrehasd' + 'dfjgiehjgi' + 'nxvsghdytg' = 'abcddswefgrehasddfjgiehjginxvsghdytg'
第 3 行稍微有一点绕先看看 set(s),把字符串 s 转换成集合,我们知道,集合元素具有唯一性,set(s) 就会是字串 s 中所有字符的集合。例如,如果 s = 'aaabbbbccccdd',那么,set(s) = {'a' , 'b' , 'c' , 'd'}。
set(s) 中的元素顺序不可控,为了保证按字母顺序输出,使用 BIF sorted(set(s)) 以确保按字母顺序枚举 set(s) 中的每一个元素。后面的 for c in sorted(set(s)) : print(c , ',' , s . count(c))
for c in sorted(set(s)) : print(c , ',' , s . count(c))
自然就是打印出现在字符串中每一个字符的出现次数。
jackz007 发表于 2022-11-12 20:36
谢谢大佬!!!!
光头小淘七 发表于 2022-11-12 20:41
谢谢大佬!!!!
我更新了说明,有什么问题请继续提问。 {:10_279:}来学习学习
页:
[1]