復習チャレンジ - Lambda ソート
CoddyのPythonジャーニー「ロジックとフロー」セクションの一部。レッスン 59/78。
Lambda関数は、さまざまな状況で並べ替えをカスタマイズするために、sorted()関数と組み合わせると非常に便利です。いくつか例を見てみましょう。
文字列を長さで並べ替える:
names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# 出力: ['Bob', 'Alice', 'Diana', 'Charlie']値で辞書を並べ替える:
grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# 出力: [('Charlie', 78), ('Alice', 85), ('Bob', 90)]絶対値で数値を並べ替える:
numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# 出力: [-10, 15, -20, 25]複数の基準でタプルを並べ替える:
data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# 出力: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]チャレンジ
簡単dataというタプルのリストを引数として受け取る、sort_tuplesという名前の関数を作成してください。data内の各タプルには、文字列と数値の2つの要素が含まれています。この関数では、lambda関数とともにsorted()関数を使用して、タプルのリストを2番目の要素(数値)に基づき、昇順で並べ替えてください。関数は、並べ替えられたタプルのリストを返す必要があります。
自分で試してみよう
def sort_tuples(data):
# ここにコードを書いてくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ