Python辞書の使い方を詳しく解説(例文付き)

不言
リリース: 2018-10-09 15:55:00
転載
3155 人が閲覧しました

この記事では、Python 辞書の使い方を詳しく説明します (例付き)。一定の参考価値があります。困っている友人が参照できます。お役に立てれば幸いです。

dictionary の表現形式は: {key:value}、キーと値はコロンで区切られ、各キーと値はペアはコロンで区切られます。{'name':'Superman','age':500} のようにカンマで区切ります。キーのタイプは不変タイプである必要があることに注意してください。Python は、キーを取得し、計算結果に基づいて値の格納アドレスを決定するため、辞書は順序付けされていない状態で格納されます。辞書の追加、削除、変更は次のとおりです:

Add

辞書を直接代入して変更できます。指定したキーが存在しない場合は、キーと値のペア

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
dic['age'] = 20
dic['lover'] = '小昭'
print(dic)
输出:
{'name': '刘先生', 'age': 20, 'job': '工程师', 'marr': '已婚', 'lover': '小昭'}
ログイン後にコピー

setdefaultv(key,value) メソッドを使用してキーと値のペアを追加することもできます
キーが存在する場合、変更は行われませんキーが存在しない場合は、最後に新しいキーが追加されます。キーの値。値が指定されていない場合は、デフォルトで None になります。
1 つの文は、「存在する場合は無視する」と要約できます。そうでない場合は追加してください。これはループ内で使用できます。指定されたキーに対応する値を取得し、削除された値を返します。キーが存在しない場合は、エラーが報告されます。

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
dic.setdefault('name','超人')
dic.setdefault('lover','小姐姐')
print(dic)
输出:
{'name': '刘先生', 'age': '39', 'job': '工程师', 'marr': '已婚', 'lover': '小姐姐'}
ログイン後にコピー

pop() を使用する場合、戻り値を指定するパラメータを追加することもできます。指定されたキーが存在しない場合は、指定された戻り値が返されます。このメソッドは非常に使いやすく、キーが見つからないようにします。キーが存在する場合はエラーが報告されます。存在する場合は削除されます。存在しない場合は、指定された文字列が返されます。

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
res = dic.pop('name')
print(dic,'返回值:',res)
输出:
{'age': '39', 'job': '工程师', 'marr': '已婚'} 返回值: 刘先生
ログイン後にコピー

clear

は辞書をクリアするために使用されます。

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
res = dic.pop('小三儿','查无此人')
print('返回值:',res)
输出:
返回值: 查无此人
ログイン後にコピー

del

は、指定されたキー値を削除するために使用されます。辞書名のみが指定された場合、辞書オブジェクト全体が削除されます。

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
dic.clear()
print(dic)
输出:
{}
ログイン後にコピー

変更: 「追加」を参照してください。

Check:

キーを直接指定して辞書にアクセスできます。キーがあれば、対応する値が返されます。そうでない場合は、エラーが報告されます:

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
del dic['name']
#del dic
print(dic)
输出:
{'age': '39', 'job': '工程师', 'marr': '已婚'}
ログイン後にコピー
ディクショナリの 3 つのメソッド key()、values()、および items() をそれぞれ使用して、すべてのキー、値、およびキーと値のペアをクエリできます。

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
a = dic['name']
print(a)
输出:
刘先生
ログイン後にコピー

for ループを使用してこれら 3 つのメソッドを横断し、キー値を個別に取得することもできます。

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
a = dic.keys()
b = dic.values()
c = dic.items()
print('keys():',a)
print('values():',b)
print('items():',c)
输出:
keys(): dict_keys(['name', 'age', 'job', 'marr'])
values(): dict_values(['刘先生', '39', '工程师', '已婚'])
items(): dict_items([('name', '刘先生'), ('age', '39'), ('job', '工程师'), ('marr', '已婚')])
ログイン後にコピー
dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
for k in dic.keys():
    print(k)
输出:
name
age
job
marr
ログイン後にコピー
dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
for v in dic.values():
    print(v)
输出:
刘先生
39
工程师
已婚
ログイン後にコピー

dictionary のその他のメソッド

len(dict)

辞書の要素数を計算します。

str(dict)

辞書を次のような文字列に変換します。

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
for k,v in dic.items():
    print(k,v)
输出:
name 刘先生
age 39
job 工程师
marr 已婚
ログイン後にコピー
copy()

辞書を返します Copy
dict.fromkeys(seq,'value')

シーケンス seq 内の要素を辞書のキーとして使用し、value を初期値として使用して辞書を作成します。パラメータ値が指定されていない場合、各キーに対応する値は Non になります 注: これは「クラスメソッド」であるため、使用する場合は dict.

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
a = str(dic)
import re
res = re.search(r'name',a)
print(res)
输出:
<_sre.SRE_Match object; span=(2, 6), match=&#39;name&#39;>

因为把dic转化为字符串并赋值给a,所以可以对a进行正则匹配
而如果直接对dic进行正则匹配则报错,因为dic不是字符串类型。
ログイン後にコピー

get(key,default) を追加します=None)

指定されたキーの値を返します。キーが存在しない場合はデフォルト値を返します。
popitem()

辞書のキーと値のペアを削除して返します。辞書が空の場合は、エラーが報告されます。

seq = ['a',1,'b']
a = dict.fromkeys(seq,'value')
print(a)
输出:
{'a': 'value', 1: 'value', 'b': 'value'}
ログイン後にコピー

update([other])

キーと値のペアで辞書を更新します。キーがすでに存在する場合は、対応する値が置き換えられます。パラメータは別の辞書または反復可能なキーと値のペア (例:

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
res1 = dic.popitem()
res2 = dic.popitem()
res3 = dic.popitem()
print(res1,res2,res3,dic)
输出:
('marr', '已婚') ('job', '工程师') ('age', '39') {'name': '刘先生'}
ログイン後にコピー

)

以上がPython辞書の使い方を詳しく解説(例文付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート