セクション 3. 章 3
single
Pythonの組み込み関数の使用
メニューを表示するにはスワイプしてください
ここでは、Python の filter() 関数および sorted() 関数と lambda 関数を組み合わせて使用する例をさらに2つ紹介します。
これらの高階関数には、lambda の代わりにより複雑なカスタム関数を渡すことも可能です。
filter()
filter() 関数は、関数が True を返すイテラブルの要素から イテレータ を作成するために使用されます。以下は、リストから 奇数 を除外するために filter() と lambda 関数を使用した例です:
12345678numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Using a lambda function to filter out odd numbers even_numbers = filter(lambda x: x % 2 == 0, numbers) # Convert the filter object to a list even_numbers_list = list(even_numbers) print(even_numbers_list)
この例では、ラムダ関数 lambda x: x % 2 == 0 は数値が偶数かどうかを判定します。filter() 関数はこのラムダを数値リストの各要素に適用し、偶数のみのイテレータを返します。
sorted()
sorted() 関数は、任意のイテラブルの要素から新しいソート済みリストを返します。
sorted(iterable, key=key, reverse=reverse)
iterableはソート対象のシーケンス(list、dict、tuple など);keyは順序を決定するために実行される関数;reverseはブール値。False は昇順、True は降順。デフォルトは False。
以下は、各タプルの2番目の要素でリストをソートするためにlambda関数を使った sorted() の例です:
123456tuples = [(1, 'banana'), (2, 'apple'), (3, 'orange')] # Using a lambda function to sort by the second element of each tuple sorted_tuples = sorted(tuples, key=lambda x: x[1]) print(sorted_tuples)
この例では、ラムダ関数 lambda x: x[1] は各タプルの2番目の要素を返します。sorted() 関数はこれらの2番目の要素に基づいてリスト tuples を並べ替え、果物名でアルファベット順にソートされたリストが得られます。
タスク
スワイプしてコーディングを開始
書籍を表す辞書のリストがあり、特定のページ数以上の書籍だけを抽出したい場合を考えます。
- 書籍リストの定義。
booksは辞書のリストです。各辞書は書籍を表し、"title" と "pages" の2つのキーを持ちます。 has_many_pagesとbookを引数に取るカスタム関数min_pagesの作成。- カスタム関数とともに
filter()を使用。 - filterオブジェクト を リスト に変換し、
filtered_books_list変数に格納して 出力 します。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 3
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください