ソフトウェアテスト | 辞書のキーと値の交換を実装する方法、知っていますか?

ここに画像の説明を挿入します

導入

Python では、ディクショナリはデータをキーと値のペアとして保存する非常に便利なデータ構造であり、キーは一意である必要があります。データの検索や操作を容易にするために、ディクショナリのキーと値を交換する必要がある場合があります。この記事ではPythonで辞書のキー値の交換操作を実装する方法を詳しく紹介します。

辞書の基本概念

まず、Python 辞書の基本概念を簡単に確認してみましょう。ディクショナリは、一連のキーと値のペアで構成されるデータ構造であり、各ペアはキーとそれに関連付けられた値で構成されます。辞書は中括弧を使用して{}作成され、キーと値:はコロンで区切られ、キーと値のペアはカンマで区切られます。簡単な辞書の例を次に示します。

person = {
    
    
    "name": "John",
    "age": 30,
    "city": "Shanghai"
}

この例では、person辞書には 3 つのキーと値のペア、つまり と が含まれて"name""age" ます"city"

辞書のキーと値の交換を実装する

辞書のキーと値の交換を実装するには、いくつかの方法から選択できますが、以下ではいくつかの一般的な方法を紹介します。

  1. 方法 1: 辞書導出を使用する

辞書内包表記を使用すると、辞書のキーと値を交換する迅速かつ簡潔な方法になります。以下に例を示します。

original_dict = {
    
    
    "name": "John",
    "age": 30,
    "city": "Shanghai"
}

flipped_dict = {
    
    value: key for key, value in original_dict.items()}

print(flipped_dict)

この例では、まずoriginal_dictという名前の辞書を作成します。flipped_dict次に、辞書内包表記を使用して、キーが のoriginal_dict値であり、値が のoriginal_dictキーである新しい辞書を作成しました。最後に、flipped_dictキーを交換した辞書を印刷して取得します。印刷結果は以下のようになります。

{
    
    'John': 'name', 30: 'age', 'Shanghai': 'city'}
  1. ループを使用する

ループを使用して元の辞書を走査し、キーと値の位置を 1 つずつ交換して、辞書内のキーと値の交換を実装します。コードは次のとおりです。

original_dict = {
    
    
    "name": "John",
    "age": 30,
    "city": "Shanghai"
}

flipped_dict = {
    
    }

for key, value in original_dict.items():
    flipped_dict[value] = key

print(flipped_dict)

この例では、最初に空の辞書を作成しflipped_dict、次にforループを使用してoriginal_dictキーと値のペアを反復処理します。original_dict各反復では、 in の値を新しい辞書のキーとして使用し、 original_dictkey in を新しい辞書の値として使用して、キーと値の交換を実現します。

  1. zip関数を使って解凍する

zip 関数と解凍を使用して、辞書内のキーと値の交換を実現します。コードは次のとおりです。

original_dict = {
    
    
    "name": "John",
    "age": 30,
    "city": "Shanghai"
}

flipped_dict = dict(zip(original_dict.values(), original_dict.keys()))
print(flipped_dict)

------------
输出结果如下:
{
    
    'John': 'name', 30: 'age', 'Shanghai': 'city'}

要約する

この記事では、Python で辞書のキーと値の交換操作を実装する方法について詳しく説明します。好みやプロジェクトのニーズに応じて、辞書内包表記またはループを使用するか、このタスクを実行するために を使用するかを選択できます。いずれの場合も、辞書内のデータの操作が容易になり、コードがより読みやすく柔軟になります。

おすすめ

転載: blog.csdn.net/Tester_muller/article/details/132720145