Pythonの基本入門チュート...login
Pythonの基本入門チュートリアル
著者:php.cn  更新時間:2022-04-18 16:14:50

Python辞書


Dictionary は別の変更可能なコンテナ モデルであり、あらゆる種類のオブジェクトを格納できます。

辞書内の各キーと値 (key=>value) のペアはコロン (:) で区切られ、各ペアはカンマ (,) で区切られ、辞書全体が中括弧で囲まれています。 ({}) 、形式は次のとおりです:

d = {key1 : value1, key2 : value2 }

キーは一意である必要がありますが、値は一意ではありません。

値は任意のデータ型にすることができますが、キーは文字列、数値、タプルなど不変である必要があります。

簡単な辞書の例:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

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

dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };

辞書内の値にアクセスします

対応するキーを使い慣れた角かっこ内に配置します。次の例のように:

#!/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 = {'名前': 'ザラ', '年齢': 7, 'クラス': '初'};

print "dict['アリス']: ", dict['アリス'];

上記の例の出力結果:

dict['Zara'] :
Traceback (most最近の呼び出し最後):
File "test.py", line 4, in <module>
print "dict ['アリス']: ", dict['アリス'];
KeyError: 'アリス'


辞書を変更する

新しいコンテンツを辞書に追加するには、次のように新しいキーと値のペアを追加し、既存のキーと値のペアを変更または削除します:

#!/usr/bin/python

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

dict['Age'] = 8; # 既存のエントリを更新
dict['School'] = " DPS School "; # 新しいエントリを追加


print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
上記の例 出力結果:
dict['Age']: 8
dict['School']: DPS School


辞書の要素を削除する

単一の要素を削除することも、辞書をクリアすることもできます。クリアには 1 つだけ必要です。手術。

次の例に示すように、del コマンドを表示して辞書を削除します:

#!/usr/bin/python
# -*-coding: UTF-8 -*-

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 最新の呼び出し最後):
ファイル "test.py"、行 8、 in <module>
print "dict ['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable

注: del() メソッドについても後で説明します。


ディクショナリキーの特徴

ディクショナリ値は、標準オブジェクトまたはユーザー定義のいずれかの Python オブジェクトを制限なく受け取ることができますが、キーはそれができません。

覚えておくべき 2 つの重要な点:


1) 同じキーを 2 回使用することはできません。作成中に同じキーが 2 回割り当てられた場合、次の例のように、後者の値が記憶されます:


#!/usr/bin/python

dict = {'Name': 'Zara', ' 年齢': 7, '名前': 'マンニ'};

print "dict['名前']: ", dict['名前'];

上記の例の出力結果:

dict['Name']: Manni

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

#!/usr/bin/python

dict = {['Name']: 'Zara', 'Age': 7};

print "dict['Name'] : ", dict['Name'] ;

上記の出力例:

トレースバック (最新の呼び出しは最後):
ファイル "test.py"、行 3、<module>
dict = { ['Name']: 'Zara', 'Age': 7};
TypeError: list object are unhashable


辞書の組み込み関数とメソッド

Python 辞書には次の組み込み関数が含まれています:

シリアル番号機能と説明
1 cmp(dict1, dict2)
2 つの辞書要素を比較します。
2len(dict)
辞書の要素の数、つまりキーの総数を計算します。
3str(dict)
辞書の印刷可能な文字列表現を出力します。
4type(variable)
入力変数のタイプを返します。変数が辞書の場合は、辞書のタイプを返します。

Python 辞書には次の組み込みメソッドが含まれています:

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

PHP中国語ウェブサイト