python 把if 写在一行的两种方式
Posted 胡七七
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 把if 写在一行的两种方式相关的知识,希望对你有一定的参考价值。
第一种:列表生成式
# info = ‘姓名=小王&年龄=16&身高=175‘
# 用一行代码,得到其中的年龄数字,不要数索引
info = ‘姓名=小王&年龄 = 16&身高=175‘
[print(one.strip(‘年龄=‘)) for one in info.replace(‘ ‘,‘‘).split(‘&‘) if ‘年龄=‘ in one]
第二种:类似if-then语句 a=1 if a>0 else 0 如果a>0,a赋值1,否则赋值0。
# 尽量用一行代码统计中字符串中重复出现的字符(大小写敏感),要求输出格式{字符:字符出现的次数}
# 输入:str1=‘AIDlkdiDKIfheihfufh‘
str1=‘AIDlkdiDKIfheihfufh‘
counter={}
for i in str1:
if i in counter:
counter[i]+=1
else:
counter[i]=1
print(counter)
优化后:
str1=‘AIDlkdiDKIfheihfufh‘
counter={}
for i in str1:
counter[i] =counter[i]+ 1 if i in counter else 1
print(counter)
以上是关于python 把if 写在一行的两种方式的主要内容,如果未能解决你的问题,请参考以下文章