記事ディレクトリ
Python プログラミングの基礎: 辞書とコレクション (1)
1. 辞書全体の操作
辞書全体の操作とは、辞書を操作対象とし、辞書の走査、ソート、マージの3つの操作を行うことをいう。
1. 辞書の横断
シーケンストラバーサルと同様に、辞書トラバーサルも for ループによって実装され、トラバーサルの内容に応じて、すべてのキーのトラバース、すべての値のトラバース、すべてのエントリのトラバースに分けられます。
すべてのキーの走査
辞書には、辞書内のすべてのキーを返す key() という名前のメソッドがあり、これを for ループで使用してキーを走査できます。
キーに対応する値を同時に表示したい場合は、辞書アクセスと組み合わせて行うことができます。
すべての値を走査する
辞書には、辞書内のすべての値を返すvalues()というメソッドがあり、forループで値を走査することができます。
すべてのエントリの走査
ディクショナリ内のすべてのエントリを返す items() という名前のメソッドがディクショナリにあり、これを for ループで使用してエントリを走査できます。
上記のトラバーサル方法で取得された各エントリはタプルに対応しており、インデックスを使用してキーと値に個別にアクセスすることもできます。
2. 辞書の整理
辞書のソートとは主に辞書の項目を希望の順序で表示することを指しますが、中国語のソートはエンコードがあり面倒なので、英語のソートを中心に紹介します。辞書の組み込み関数sorted()を使用してキーをアルファベット順に並べ替えます。デフォルトでは出力は昇順になります。
上記のソート方法はキーを出力するだけであり、元の辞書は何も変更されないことがわかりますが、辞書のエントリの順序を変更したい場合は、リストとリストの特性を組み合わせて変更できます。タプル。
3. 辞書の統合
辞書のマージとは、2 つの辞書のエントリを結合することを指します。これを実現するには、for ループを使用する、update() メソッドを使用する、および dict() 関数を使用するという 3 つの主な方法があります。
for ループの使用
この方法では、for ループを使用してディクショナリを走査し、そのすべてのエントリを別のディクショナリに 1 つずつ追加します。
上記の for ループは item2 の各項目を反復処理し、それを item1 に 1 つずつ追加します。
update() メソッド
update() メソッドは、パラメータ ディクショナリを呼び出しメソッドのディクショナリに追加するために使用されます。その構文は次のとおりです。
字典1.update(字典2)
dict() 関数は
以前に紹介しました。dict() 関数は、2 要素シーケンスのセットを辞書に変換するために使用できます。したがって、辞書をマージするときは、まず辞書をリストに変換し、最初にリストをマージし、 diac() 関数を使用して、マージされたリストを辞書に変換します。
さらに、dict() 関数を直接使用して 2 つの辞書を結合することもできます。構文形式は次のとおりです。
字典1 = dict(字典2, **字典3)
2. コレクションの作成とアクセス
セットは、順序付けされていない異なる要素のセットを格納するために特別に使用されます。同時に、要素は不変型である必要があります。この機能と組み合わせると、数学の集合演算に使用されるだけでなく、セットをテストにも使用できます要素の関係を調べ、重複を排除します。
1. コレクションの作成
コレクションの作成は辞書の作成と似ており、関連する要素を「{}」に直接配置することで表されます。
{
元素1,元素2,......}
括弧内に内容がない場合は空集合として表現されますが、「set={}」を使用して空集合を直接作成することはできません。このメソッドは辞書を作成します。
セットを直接定義することに加えて、set() 関数を使用してセットを作成することもできます。この関数は、シーケンスをセットに変換するために特に使用されます。重複した要素は変換プロセス中に削除されます。
set() 関数は、主に文字列またはリストの重複を除去するために使用されます。
2. コレクションへのアクセス
コレクションの要素には順序がないため、アクセスするときは、コレクション名を使用してコレクション全体を出力するか、for ループを使用して要素を走査する必要があります。
3. 収集の基本操作
1. コレクションの追加、削除、検索
コレクションの操作は比較的単純で、主に要素の追加、削除、要素が存在するかどうかのクエリを行います。
要素の追加
集合.add(i)
パラメータ i を要素としてセットに追加します。i がシーケンスの場合は、要素全体として追加します。
集合.update(i)
パラメータ i を要素としてセットに追加します。i はシーケンスであり、変数データにすることができます。それを分割してから追加します。
要素の削除
集合.remove(i)
指定された要素 i をコレクションから削除します。存在しない場合は、エラーが報告されます。
集合.discard(i)
指定された要素 i をコレクションから削除します。存在しない場合は、何も出力せずに通常どおり実行します。
集合.pop()
コレクションからランダムな要素を削除して返します。
集合.clear()
コレクション内のすべての要素をクリアします。
存在するかどうかを問い合わせる
i in 集合
i がセット内にあるかどうかを判断し、存在する場合は True を返し、存在しない場合は False を返します。
2. 集合に対する数学的演算
集合の数学的演算とは、主に集合の共通部分、和集合、差分、対称差分を見つけることを指します。
A と B の共通部分と和集合:
A と B の差分と対称的な差分:
共通部分の構文形式:
A|B
A.union(B)
Union の構文形式は次のとおりです。
A&B
A.intersection(B)
差分セットの構文形式は次のとおりです。
A-B
A.difference(B)
対称差分セットの構文形式は次のとおりです。
A^B
A.symmetric_difference(B)