python 那些特殊语法(三元表达式(三目运算)、列表推导式、for.....else语法)

l= [ "小柯", "小宝","小韩", "小名",'大毛']
#python中的三元表达式(三目运算符)
for i in l:
c = i[0] if '小'in i else i[-1] #True 操作 if 表达式 else False 操作
   print (c)

 

#优雅的列表推导式
#找出1-100里最后位数是8的所有数字放入列表
#传统循环解决:
s=[]
for i in range(1,100):
if str(i)[-1]=='8':
s.append(i)
print(s)
#看一下列表推导式的魅力
print([i for i in range(1,100) if str(i)[-1]=='8'])



l = ["小柯", "小宝", "小韩", "小名", '大毛']
#加入逻辑运算
print([i for i in l if i[-1] == '韩' or i[0] == '大'])
#试试if....else
print(['采薇人:'+i if i[0] == '小' else i for i in l])

 


# #再来看看多种情况获取多种结果的
l = ["小柯", "小宝", "小韩", "小名", '大毛']
a='三大平台自动化运营总监:'
b='采薇阁封面首席设计师:'
c='采薇阁自动修图资深程序员:'
print([a+i if i[-1] == '柯' else b+i if i[-1] == '宝' else c+i if i[-1] == '韩' else i for i in l])

 


#for .... else 语法来了
for x in range(10):
if x == 2:
print(x)
#如果没有这个break关键字时迭代完成则继续执行else语句
break # 有break这个关键字退出了循环且else语句不执行
else:
print("执行else....")

#实际工作运用中常常是在嵌套循环中使用,怎一个香字了得。
l = ["小柯", "小宝", "小韩", "小名", '大毛']
s = ['三大平台自动化运营总监小柯','采薇阁自动修图资深程序员小韩','采薇阁封面首席设计师小宝']
#找到 l 里的元素不包含在 s 元素里的 l元素
for i in l:
for n in s:
if i in n: #如果 l 里的这个元素(i)在 s 的元素(n)里则断开第二层循环回到第一层循环执行else语句不执行
break
else:
print(i)#如果第二层循环下的 if 条件不成立也就是说当 l 里的这个元素(i)在 s 的元素(n)里则打印 i 的值

 

 

 

 
posted @ 2022-04-11 20:11  CWG-ZSK  阅读(415)  评论(0)    收藏  举报