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)

 

 
posted @ 2020-05-29 19:53  胡七七  阅读(35136)  评论(0编辑  收藏  举报