Pythonの辞書操作を詳しく解説

Jan 13, 2017 pm 04:17 PM

Python 辞書は別の変更可能なコンテナ モデルであり、文字列、数値、タプル、その他のコンテナ モデルなど、あらゆるタイプのオブジェクトを格納できます。
1. 辞書を作成する
辞書は、キーと対応する値のペアで構成されます。辞書は、連想配列またはハッシュ テーブルとも呼ばれます。基本的な構文は次のとおりです:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
ログイン後にコピー

次のような辞書を作成することもできます:

dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
ログイン後にコピー
注:
各キーと値はコロン (:) で区切られ、各ペアはカンマで区切られ、各ペアはカンマと全体を中括弧 ({ }) で囲みます。
キーは一意である必要がありますが、値は一意ではありません。
値は任意のデータ型にすることができますが、文字列、数値、タプルなど、不変である必要があります。
2. 辞書内の値にアクセスします

次の例のように、対応するキーを角括弧で囲みます:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
#以上实例输出结果:
#dict['Name']:  Zara
#dict['Age']:  7
ログイン後にコピー

データにアクセスするために辞書にないキーを使用すると、エラーが出力されます。次のように:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print "dict['Alice']: ", dict['Alice'];
ログイン後にコピー
#上記の出力結果の例:

#dict['Zara']:
#Traceback (most last call last):
# ファイル "test.py"、4 行目、
# print "dict['Alice']: ", dict ['Alice'];
#KeyError: 'Alice'[/code]
3. 辞書を変更します
新しいコンテンツを辞書に追加する方法は、新しいキーを追加することです。以下に示すように、/value ペアを変更または削除します。 :

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

 
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
#以上实例输出结果:
#dict['Age']:  8
#dict['School']:  DPS School
ログイン後にコピー

4. 辞書要素を削除する
単一の要素を削除するか、辞書をクリアすることができます。
辞書を表示および削除するには、次の例に示すように、del コマンドを使用します:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

del dict['Name']; # 删除键是'Name'的条目
dict.clear();     # 清空词典所有条目
del dict ;        # 删除词典

print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
#但这会引发一个异常,因为用del后字典不再存在:
dict['Age']:
#Traceback (most recent call last):
#  File "test.py", line 8, in <module>
#    print "dict[&#39;Age&#39;]: ", dict[&#39;Age&#39;];
#TypeError: &#39;type&#39; object is unsubscriptable
ログイン後にコピー

5. 辞書キーの特性
辞書の値は、標準オブジェクトまたはユーザー定義のいずれかの Python オブジェクトを制限なく取得できます。ただしキーはできません。
覚えておくべき 2 つの重要な点:
1) 同じキーを 2 回使用することはできません。作成中に同じキーが 2 回割り当てられた場合、次の例に示すように、後の値が記憶されます:

#!/usr/bin/python

dict = {&#39;Name&#39;: &#39;Zara&#39;, &#39;Age&#39;: 7, &#39;Name&#39;: &#39;Manni&#39;};

print "dict[&#39;Name&#39;]: ", dict[&#39;Name&#39;];
#以上实例输出结果:
#dict[&#39;Name&#39;]:  Manni
ログイン後にコピー

2) キーは不変である必要があるため、数値、文字列、またはタプルとして使用できます。次の例は機能しません:

#!/usr/bin/python

dict = {[&#39;Name&#39;]: &#39;Zara&#39;, &#39;Age&#39;: 7};

print "dict[&#39;Name&#39;]: ", dict[&#39;Name&#39;];
#以上实例输出结果:
#Traceback (most recent call last):
#  File "test.py", line 3, in <module>
#    dict = {[&#39;Name&#39;]: &#39;Zara&#39;, &#39;Age&#39;: 7};
#TypeError: list objects are unhashable
ログイン後にコピー

6. 辞書の組み込み関数とメソッド
Python 辞書には次の組み込み関数が含まれています:
1. cmp(dict1, dict2): 2 つの辞書要素を比較します。
2. len(dict): 辞書の要素の数、つまりキーの総数を計算します。
3. str(dict): 辞書の印刷可能な文字列表現を出力します。
4. type(variable): 入力変数の型を返します。変数が辞書の場合は、辞書の型を返します。


Python 辞書には次の組み込みメソッドが含まれています:
1. radiansdict.clear(): 辞書内のすべての要素を削除します。
2. radiansdict.copy(): 辞書の浅いコピーを返します。 .fromkeys() : シーケンス seq 内の要素を辞書のキーとして使用して、新しい辞書を作成します。 val は辞書内のすべてのキーに対応する初期値です
4. radiansdict.get(key,default=None):値が辞書にない場合は、指定されたキーの値を返します。 radiansdict.has_key(key): キーが辞書にある場合は true を返し、そうでない場合は false
6 を返します。 (): 走査可能な (キー, 値) タプル配列をリストとして返します
7 、radiansdict.keys(): 辞書のすべてのキーをリストとして返します
8. radiansdict.setdefault(key,default=None): 同様get() を実行しますが、キーが辞書にまだ存在しない場合は、キーが追加され、値がデフォルト
9 に設定されます。 radiansdict.update(dict2): 辞書 dict2 のキーと値のペアを dict
に更新します。 10. radiansdict.values(): 辞書内のすべての値をリストとして返します


その他 複数の Python 辞書 (Dictionary) 操作に関する関連記事は、PHP 中国語 Web サイトに注目してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? Apr 01, 2025 pm 11:15 PM

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? 中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? Apr 01, 2025 pm 10:51 PM

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

人気のあるPythonライブラリとその用途は何ですか? 人気のあるPythonライブラリとその用途は何ですか? Mar 21, 2025 pm 06:46 PM

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

文字列を介してオブジェクトを動的に作成し、Pythonでメソッドを呼び出す方法は? 文字列を介してオブジェクトを動的に作成し、Pythonでメソッドを呼び出す方法は? Apr 01, 2025 pm 11:18 PM

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

See all articles