鱼C论坛

 找回密码
 立即注册
查看: 1090|回复: 4

[已解决]问题求助

[复制链接]
发表于 2022-5-2 15:20:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目为下边这个长字符串中各个字符出现的次数
代码:
str1 = '''拷贝过来的字符串'''
list1 = []
for each in str1:
    if each not in list1:
        if each == '\n':
            print('\\n', str1.count(each))
        else:
            print(each, str1.count(each))
       list1.append(each)
这三行红色代码不知道有什么用,恳请各位大佬帮帮忙
最佳答案
2022-5-2 15:24:30
本帖最后由 isdkz 于 2022-5-2 15:25 编辑

list1 用于存放已经统计过的字符,

if each not in list1 如果 each 没有在 list1 中,说明 each 还没被统计过,

list1.append(each) 将统计了的 each 加进 list1,记录被统计过的字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-2 15:24:30 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2022-5-2 15:25 编辑

list1 用于存放已经统计过的字符,

if each not in list1 如果 each 没有在 list1 中,说明 each 还没被统计过,

list1.append(each) 将统计了的 each 加进 list1,记录被统计过的字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-2 15:44:30 | 显示全部楼层
isdkz 发表于 2022-5-2 15:24
list1 用于存放已经统计过的字符,

if each not in list1 如果 each 没有在 list1 中,说明 each 还没被 ...

如果不用这三条代码,直接用for循环为什么不行啊,有哪些问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-2 15:49:08 | 显示全部楼层
fxj2002 发表于 2022-5-2 15:44
如果不用这三条代码,直接用for循环为什么不行啊,有哪些问题


因为 str1 中会有多个相同的字符,如果不用这三条的话,

可能同一个字符会多次打印出现的次数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-2 15:53:16 | 显示全部楼层
fxj2002 发表于 2022-5-2 15:44
如果不用这三条代码,直接用for循环为什么不行啊,有哪些问题

如果不想用三条代码,就用一条吧:
str1 = "FishC"
list1 = {key: str1.count(key) for key in set(str1)}
print(list1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 12:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表