python中三元表達式,列表生成式及lambda函數


三元表達式

# 語法:
#	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}]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM