三元表達式
# 語法:
# expression1 if condition else expression2
# 例如:
a = 5, b = 4
result = a if a > b else b
列表生成式
# 語法:
# [i for i in Iterable if condition]
# 例1:生成一個1至10的平方的列表
mylist = [i**2 for i in range(1,11)]
# 例2: 生成一個1至10中奇數的平方的列表
mylist = [i**2 for i in range (1,11) if i % 2!= 0]
匿名函數
# 語法:
lambda pram1,pram2,... :body # 一般不單獨使用
# 例1:對列表的絕對值從大到小排序
my_list = [-10,3,2,-6,8,11]
my_list = sorted(my_list,key=lambda x:abs(x),reverse=True)
print(my_list)
# output:[11, -10, 8, -6, 3, 2]
# 例子2:如又下列表,請按其中年齡排序
in_fo = [
{'name':'alex','age':84},
{'name':'egon','age':73},
{'name':'jason','age':18},
]
new_in_fo = sorted(info, key=lambda x: x['age'])
print(new_in_fo)
[{'name': 'jason', 'age': 18}, {'name': 'egon', 'age': 73}, {'name': 'alex', 'age': 84}]