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)
“学习必须如蜜蜂一样,采过许多花,这才能酿出蜜来。”