復習チャレンジ - Lambda ソート
CoddyのPythonジャーニー「ロジックとフロー」セクションの一部。レッスン 59/78。
ラムダ関数は、さまざまな状況で並べ替えをカスタマイズするために、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つの要素が含まれています。この関数では、sorted() 関数とラムダ関数を使用して、2番目の要素(数値)を基準にタプルのリストを昇順に並べ替えてください。関数は、並べ替えたタプルのリストを返す必要があります。
自分で試してみよう
def sort_tuples(data):
# ここにコードを書いてくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ