|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如题,想请教一下这里面的逻辑以及list1[]不是个空列表吗 ,作用是什么呢
统计各字符串出现的次数
- 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)
复制代码
本帖最后由 小木船 于 2018-2-20 10:53 编辑
- list1 = []
- for each in str1: #each表示str1字符串中每个字符,比如'%'
- if each not in list1: #如果这个字符'%'不在list1,则执行下边判断,很明显,现在list1还是空的
- if each == '\n': #'%'不等于'\n',所以执行else语句
- print('\\n', str1.count(each))
- else:
- print(each, str1.count(each)) #'%'字符在str1中的的总个数被count()求出,并显示
- list1.append(each) #'%'被加入list1列表中,这样,下次再碰到str1中的'%',因为04行判断时,each in list1, 04行开始一直到最后的所有语句都不会被执行, 就不会再计算'%'的个数了。进入下一个for循环,计算下一个字符。
复制代码
|
|