ホームページ  >  記事  >  バックエンド開発  >  Python - 辞書の値リストから奇数の要素をフィルタリングする

Python - 辞書の値リストから奇数の要素をフィルタリングする

PHPz
PHPz転載
2023-09-01 10:57:031396ブラウズ

Python - 从字典的值列表中筛选奇数元素

ディクショナリは、キーと値のペアを持ち、重複を許可しない Python で一般的なデータ型です。奇数の要素をフィルタリングするために、items()、filter()、lambda、list() などの組み込み関数があり、辞書内の値のリストから奇数の要素をフィルタリングするために使用されます。リスト内の奇数要素は、2 で割り切れない要素です。

######例えば### - ###

与えられたリスト、[10, 22, 21, 19, 2, 5] リストから奇数の要素をフィルタリングした後:

最終結果は [10, 22, 2] になります (これらは整数 2 で割り切れる要素です)。

###文法###

例では次の構文が使用されています -

リーリー

これは、ビュー オブジェクトを返すために使用できる組み込みメソッドです。オブジェクトは、値のペアを持つキーで構成されます。

リーリー

Python の filter() 要素は、特定の条件に基づいて要素をフィルタリングするために使用されます。

リーリー

関数

lambda

lambda キーワードを使用して短い匿名関数を宣言するためのショートカットを提供します。 Lambda 関数は、def キーワードを使用して宣言すると機能します。

リーリー

list() はリスト オブジェクトを作成する Python ビルトインであり、反復可能な構造を受け入れてリストに変換します。

リーリー

上記の表現はどちらも、値のリストから奇数の要素をフィルタリングするロジックを示しています。 if-else ステートメントによる辞書内包表記とリスト内包表記の使用

このプログラムは、辞書内包表記を使用して、奇妙な要素をフィルタリングすることにより、元の辞書を新しい辞書に変換します。この奇妙な要素は、if-else ステートメントでリスト圧縮を使用することでフィルタリングできます。

###例###

次の例では、プログラムは

odd_element

という名前の関数を使用して開始されます。この関数は、dictionary という名前のパラメータを受け取ります。同じパラメーターが、値のリスト内の奇数の要素にフィルター辞書を設定するために、内包技術、つまり

list

dictionary

および

if-statement

で使用されます。次に、辞書の値のリストを作成し、それを dictionary という変数名に保存します。次に、 を使用して関数を呼び出し、パラメータ名をキーと値のペアを含む辞書として渡し、変数 filter_dict に格納します。最後に、変数 filter_dict を使用して結果を出力します。 リーリー ###出力### リーリー Lambda 関数での for ループと Filter() の使用 このプログラムは、組み込みメソッド items() を使用して辞書項目のキーと値を反復処理する for ループを使用します。次に、list()、filter()、lambda などのネストされた組み込み関数を使用して、辞書リストから奇数の要素を削除します。 ###例### 次の例では、for ループを使用して、値のリストを持つキーを含む変数のディクショナリを反復処理します。奇数の要素をフィルタリングするには、3 つのネストされた組み込み関数、つまり list()、filter()、lambda() を使用します [この関数は条件を x%2 != 0 として設定し、指定された値のリストが整数であるかどうかを確認します。は 2 で割り切れます] を変数 filtered_dictionary に格納します。奇数の要素をフィルタリングした後、filtered_dictionary に filtered_dictionary の値を設定します。次に、キーと値のリストで構成される辞書を作成し、変数辞書に保存します。この変数は、呼び出し関数 odd_element() の引数に設定され、変数 filter_dict() に格納されます。 リーリー ###出力### リーリー for ループとリスト内包表記の使用

プログラムは、組み込みメソッド items() を使用して for ループを使用してディクショナリとキーを反復処理し、リストの内包表記を表す 1 行で for ループと if ステートメントを使用します。

###例###

次の例では、filter_odd_elements() という名前の関数を定義してプログラムを開始します。この関数は、dictionary という名前のパラメータを受け取り、その値にアクセスします。次に、変数

filter_dictionary

に空の辞書を作成し、後で新しい辞書を結果として保存します。次に、for ループを使用して、辞書の値の各リストを反復処理します。 for ステートメントと if ステートメントを使用してリストの内包表記を続行し、それを変数

filter_values

に保存します。

filter_dictionary[key]

内の同じ変数を交換します。次に、フィルタリングされた結果に奇数の要素が含まれていない

filter_dictionary

を返します。値のリストを含む辞書を作成し、変数

dict

に保存します。

f_dictionary

という名前の新しい変数には、

dict

という名前の引数を渡された再帰関数が格納されます。最後に、変数 f_dictionary を受け入れる print 関数を使用して結果を取得します。

リーリー ###出力### リーリー

Lambda 関数での辞書内包表記と Filter() の使用 このプログラムは、辞書の内包理解を使用して、辞書を新しい形式の辞書に変換します。 filter() メソッドは、ラムダ関数を使用して、辞書の値のリストから奇数の要素を削除します。 ###例### 以下の例では、辞書内包表記が 3 つのメソッドを使用して値のリスト内の奇数要素のフィルタリングに基づいてロジックを設定し、for ループを使用して辞書の各キーと値を反復処理する方法を示します。 リーリー ###出力### リーリー 辞書内包表記とリスト内包表記を使用する プログラムは再帰関数を使用し、return ステートメントを使用して理解テクニックを返します。 ###例### 次の例では、プログラム内で再帰関数を使用して、辞書の値から奇妙な要素をフィルタリングし、同じキーとフィルタリングされた値を持つ新しい辞書を返します。

def odd_elements(dictionary):
   return {key: [x for x in value if x % 2 == 1] for key, value in dictionary.items()}
# create the dictionary and store the value by odd and even in the list
dictionary = {'list1': [100, 200, 300, 499, 599], 'list2': [699, 799, 899, 900, 1000]}
filter_dict = odd_elements(dictionary)
print("ODD NUMBER FILTRATION IN DICTIONARY VALUES:\n", filter_dict)

输出

ODD NUMBER FILTRATION IN DICTIONARY VALUES:
 {'list1': [499, 599], 'list2': [699, 799, 899]}

结论

我们讨论了基于从字典中的值列表中过滤奇数元素来解决此问题陈述的各种方法。上述所有示例大多使用综合技术,通过使用某种方法、循环或条件语句在 1-2 行内解决问题。当我们想要通过分配特定条件来过滤数据时,通常会使用程序目的。

以上がPython - 辞書の値リストから奇数の要素をフィルタリングするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。