Pythonの無名関数=(lambda)について
lambda
分かりにくいですよね笑
私も理解するために少し時間がかかりました。
簡単に言うと
””
def せずに関数を定義する
””
ものです。
もし、あるイテレータ・構造の二番目を取り出す関数を作るには
def getsecond(n): return n[1]
とできますが、もっと短く
getsecond = lambda x: x[1] getsecond([1, 2]) # 2
とできます。
lambda の文法について
lambda の文法は
"""
lambda 引数: 返り値
"""
となっています。なので、
先ほどのlambdaでいうと
x を引数としたときに、x[1]を返り値にする。
ということです。
なので、keyを引数に取るようなsortで、絶対値を基準にソートしたいとき
a = [1, 3, 5, 7, -2, -4, -6] print(sorted(a)) # [-6, -4, -2, 1, 3, 5, 7] print(sorted(a, key=lambda x: abs(x))) # [1, -2, 3, -4, 5, -6, 7]
とできます。
どうですか?分かりやすかったですか?
質問があれば気軽にどうぞ!
宣伝…
#Python3 パーカーを作りたいと思っています。
— ながたさん.py🐍 (@nagataaaas) 2018年2月10日
購入したい!という人が多ければ安く作れるので、いいなぁ、と思えば、リプでもDMでもどうぞ!
I wanna make the "#Python hoody". And I want YOU to buy one, too. cuz' lots of buyer make the hoody more inexpensive. give me contact #パーカー pic.twitter.com/0ElGJetNcb