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}]
原文地址:https://www.cnblogs.com/Ghostant/p/11857668.html