光头小淘七 发表于 2022-11-12 19:56:49

7-4 统计字符串列表中每个字母出现的次数

本帖最后由 光头小淘七 于 2022-11-12 20:04 编辑

真的搞不懂啊

jackz007 发表于 2022-11-12 20:13:53

本帖最后由 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>

光头小淘七 发表于 2022-11-12 20:22:11

jackz007 发表于 2022-11-12 20:13
运行实况:

非常感谢但是能解释一下吗,并且他要求从a排序到z

jackz007 发表于 2022-11-12 20:36:31

本帖最后由 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))
   自然就是打印出现在字符串中每一个字符的出现次数。
   

光头小淘七 发表于 2022-11-12 20:41:57

jackz007 发表于 2022-11-12 20:36


谢谢大佬!!!!

jackz007 发表于 2022-11-12 20:50:05

光头小淘七 发表于 2022-11-12 20:41
谢谢大佬!!!!

         我更新了说明,有什么问题请继续提问。

水边的小姑娘 发表于 2022-11-12 21:10:14

{:10_279:}来学习学习
页: [1]
查看完整版本: 7-4 统计字符串列表中每个字母出现的次数