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)
 

相关推荐