1 三元運算符
格式:
變量=條件返回True的結果 if 條件 else 條件返回False的結果
條件:
1 必須有結果
2 必須要有if和else
3 簡單的條件判斷
# a=1 # b=5 # c=a if a>b else b # print(c) # def max_test(a,b): # return a if a>b else b print(max_test(3,50))
2 列表表達式
格式:
[每一個元素或則和元素相關的操作 for 元素 in 可迭代數據類型] 遍歷后挨個處理
[滿足條件的元素相關的操作 for 元素 in 可迭代對象 if 元素相關的條件] 篩選條件
#30以內能被3整除的數
# lista=[i for i in range(30) if i%3==0]
# print(lista)
#
# #30以內能被3整除的數的平方
# listb=[ii*ii for ii in range(30) if ii%3==0]
# print(listb)
#查找嵌套列表內 含有2個e字母的元素
# names=[['Tom','Billy','Jefferson','Andrew','Wesley','Steven','Joe'],['Alice','Jill','Ana','Wendy','Jennifer','Sherry','Eva']]
#
# ret=[name for lst in names for name in lst if name.count('e')==2]
# print(ret)
3 生成器表達式
格式: 同列表表達式
#10內數字的平方列表 # g_04=(i*i for i in range(10)) # #g_04=(i*i for i in range(10))並沒有直接執行,是下方的for循環開始后才調用.__next__方法的 # for i in g_04: # print(i)
4 字典表達式
# dict_01={'a':10,'b':34}
# dict_02={dict_01[k]:k for k in dict_01}
# print(dict_02)
#合並大小寫對應的value值 將k統一成小寫
# dict_03={'a':10,'b':34,'A':7,'Z':3}
# dict_04={k.lower():dict_03.get(k.lower(),0)+dict_03.get(k.upper(),0) for k in dict_03}
# print(dict_04)
5 集合表達式
# set_01={x**2 for x in [1,-1,2]}
# print(set_01)
