python lambda関数をkeyにしたsortについて
lambda関数を用いたsortを学んでいます。
list_abcdef = [["a", 0], ["b", 2], ["c", 1], ["d", 3], ["e", 5], ["f", 4]]
list_abcdef.sort(key=lambda x: x[1])
のようにすると、リストの要素の2つ目を基準にsortできることを知りました。
また、以下のようにするとリストの中を好きな順番に並び変えられると知り便利だと思いました。
が、lambda関数で何が起こっているのか疑問に思っています。
上のlist_abcdefの例だと、xにlistの要素(["a",0]など)が入って、それの[1]が返されていると想像できますが、下記のコードだとxに何が入っているのかわかりませんでした。
ご教授よろしくお願いいたします。
該当のソースコード
python
1d = {"A": 0, "B": 2, "C": 1, "D": 3, "E":5, "F":4} 2list_ABCDEF=["A", "B", "C", "D", "E", "F"] * 5 3list_ABCDEF.sort(key=lambda x: d[x])
['A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'D', 'D', 'D', 'D', 'D', 'F', 'F', 'F', 'F', 'F', 'E', 'E', 'E', 'E', 'E']
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。