【Python3】無名関数

def function1():
    return "function1"

def function2():
    return "function2"

function = function2 # 関数を変数に代入する(関数オブジェクト)

print( function() ) #関数を呼び出す
function = lambda x : x * 2 #ラムダ

print( function( 3 ) )
i = [1, 3, 5, 7, 9]
func = lambda x : x * 2
o = map(func, i) #リストに対してラムダを実行
print( list( o ) )
i = [1, 2, 3, 11, 12, 13, 21, 22, 23]
o = filter(lambda x : (x % 2) == 0, i) #リストに対しラムダの条件を満たすものを抽出
print( list( o ) )
#リスト
animal_list = [
    ("ライオン", 58),
    ("チーター", 110),
    ("シマウマ", 60),
    ("トナカイ", 80)
]

faster_list = sorted(animal_list, key = lambda ani : ani[1], reverse = True) #指定されたキーの降順にソート

for i in faster_list : print(i)

#辞書型
animal_dict = {
    "ライオン": 58,
    "チーター": 110,
    "シマウマ": 60,
    "トナカイ": 80
}

faster_list = sorted(animal_dict.items(), key = lambda ani : ani[1], reverse = True) #指定されたキーの降順にソート

for name,speed in faster_list : print(name,speed)