Python辞書の基本的な操作は何ですか?

リリース: 2020-01-15 10:25:27
オリジナル
14791 人が閲覧しました

Python辞書の基本的な操作は何ですか?

Dictionary は Python の 5 つの基本データ型の 1 つで、割り当てが少し面倒ですが、使用すると非常に便利です。データの保存にはキーと値のペアを使用します。いわゆるキーと値のペアは、値に対応するキーです。後で前のキーに再度値が割り当てられると、最初の値は上書きされます。

1: 辞書の作成

Python ではリストが「[]」で表され、祖先が「()」で表され、辞書が表されることがわかっています。 '{ }' は、リスト、タプル、文字列よりも作成が面倒であることを意味しますが、キー値のこれら 3 つの単語を覚えていれば、辞書型変数を正しく作成できます。以下のコードを参照してください。

d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)}

print(d)
print(type(d))
print(d['a'])
print(d['c'][1])
print(d['d'][1])
ログイン後にコピー

出力結果は次のとおりです:

{'a': 'I am a', 'b': 1, 'c': [1, 2, 3], ' d': (1, 2, 3)}


I am a
2

最初の行では、という辞書型を作成します。 d. では、各キー名を英語の引用符で囲み、キー値は任意のデータ型にできます。たとえば、キー a のキー値は文字列、キー b のパートタイム値は数値、およびキー c のキー値は List、キー d のキー値はタプルです。

3 行目、辞書全体を出力します。作成時とまったく同じであるかどうかを確認します。

4 行目, use type この関数は変数 d のデータ型をチェックし、dict を出力します。はい、list がリストを表すのと同じように、dict は辞書を表します。

5 行目では、 valueは辞書のキーaのキー値を出力します

6行目、キー値cの2番目の要素を出力します cのキー値はリスト型なのでd['の操作が可能ですc'] は list のようなものです。

Seventh Flight は 6 行目と似ていますが、キー値の型が祖先によって置き換えられる点が異なります。

2: 辞書を変更します

辞書を作成するときに、キーごとに指定します。後でこのキーのキー値を変更したい場合はどうすればよいでしょうか?これも非常に簡単で、次のようにキーを再割り当てするだけです:

d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)}


print(d['a'])
d['a'] = '我是被修改后的a'
print(d['a'])
ログイン後にコピー

出力結果は次のとおりです:

I am a

I am themodified a

4 行目では a の元のキー値を出力し、5 行目では a のキー値を変更し、6 行目では a の変更されたキー値を出力します

3: 辞書の削除

辞書を作成した後に、辞書内のキーまたは辞書全体を削除したい場合は、del メソッドを使用できます。

d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)}


print(d['a'])
del d['a']
print(d['a'])
ログイン後にコピー

出力は次のとおりです

私は

Traceback (最新の呼び出しは最後):
File "E:/py project/Miscellaneous example/dict_demo. py"、8 行目、
print(d['a'])
KeyError: 'a'

上の 4 行目で、最初に出力します。 a のキー値。後で del を使用してキー a を削除し、6 行目で再度キー a にアクセスすると、エラーが報告されます。 KeyError: 'a'

辞書全体を削除したい場合はどうすればよいですかすぐに?これも非常に簡単で、5行目のコードを少し修正し、dの後の['a']を削除し、delの後に辞書名を直接記述するだけです。

辞書の Pop() メソッドを使用して del メソッドを削除することもできます。削除時の戻り値はありません。Pop は削除されたキーのキー値を返します。キーが存在しない場合は、指定した値を返すこともできます。 エラー メッセージは次のとおりです。

d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)}

print(d['a'])
print(d.pop('a', '123456'))
print(d.pop('e', '这个键不存在,无法删除'))

输入结果如下:
我是a
我是a
这个键不存在,无法删除
ログイン後にコピー

3 行目は、キー a の値を出力します。

4 行目は、キー a を削除し、キー a の値を返します。 key は辞書に存在します。したがって、次の '123456'

5 行目は e キーを削除しますが、このキーは辞書に存在しないため、次のエラー メッセージ「このキーは存在しないため、キーを使用できません」が表示されます。 「deleted'

##」が返されます

#4: 辞書のクリア

##削除したいのは辞書全体ではなく、辞書の内容だけである場合があります。今度は、辞書のクリアメソッドを使用して、辞書をクリアする操作は次のとおりです。

d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)}

d.clear()
print(d)

输出如下:
{}
ログイン後にコピー

この時点で d が空の辞書になっていることがわかります

5:.get メソッド アクセス キー

辞書 ['キー名'] メソッドは辞書内のキーにアクセスするのに非常に便利ですが、いくつかの欠点もあります。存在すると、プログラムが終了し、プログラムの通常の動作が妨げられます。必要に応じて、正しいエラー メッセージを返し、プログラムの実行を続行できるようにします。.get メソッドを使用して、辞書内のキーにアクセスできます。

d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)}

print(d.get('e', '这个键不存在'))
print(d['e'])

输入如下:
这个键不存在
Traceback (most recent call last):
  File "E:/py project/杂例/dict_demo.py", line 6, in <module>
    print(d[&#39;e&#39;])
KeyError: &#39;e&#39;
ログイン後にコピー

3 行目と 4 行目はすべて、辞書に存在しないキーにアクセスし、3 行目は .get メソッドを使用してアクセスし、設定されたエラー メッセージを返し、プログラムは下方向に実行を続けます。通常の方法でアクセスすると、プログラムはエラーを報告して終了します。

6: in 演算子

辞書では、in 演算子を使用して、キーが辞書に存在します。キーが辞書にある場合は true を返し、そうでない場合は false を返します。次の単純なコードを見てください。

d = {&#39;a&#39;: &#39;我是a&#39;, &#39;b&#39;: 1, &#39;c&#39;: [1, 2, 3], &#39;d&#39;: (1, 2, 3)}


print(&#39;a&#39; in d)
print(&#39;e&#39; in d)
ログイン後にコピー

出力結果は次のとおりです。

True

False


4 行目のキー ' a' は辞書にあり、True を返します。 5 行目、キー ''e は辞書にありません。false

を返します。

7:获取字典中键值对

现在我们已经知道,字典是以键值对(键和它对应的键值)的形式存储数据的,那么有没有什么方法让我们一次性获取一个字典中所有的键值对呢?可以用items()方法

字典的 items() 方法以列表返回可遍历的(键, 值) 元组数组。意思就是返回一个列表,列表里面的每个元素都是元组,一个元祖就是字典里面的一对键值对。

d = {&#39;a&#39;: &#39;我是a&#39;, &#39;b&#39;: 1, &#39;c&#39;: [1, 2, 3], &#39;d&#39;: (1, 2, 3)}

print(d.items())

for i, j in d.items():
    print(i, j)
ログイン後にコピー

输出结果如下:

dict_items([('a', '我是a'), ('b', 1), ('c', [1, 2, 3]), ('d', (1, 2, 3))])
a 我是a
b 1
c [1, 2, 3]
d (1, 2, 3)

第三行,我们输出了items()的返回结果,可以清楚的看到每个元祖都是字典里面的一个键值对,可以使用list把它转换为一个列表,能帮助我们更好的访问里面的元素。

第五行,利用items()方法帮助我们遍历一个字典,每次输出一个键和它对应的键值。

8:获取键

items()方法可以帮助我们一次性获取所有的键值对,但如果我们只想要获取键呢?可以使用 keys() 方法

d = {&#39;a&#39;: &#39;我是a&#39;, &#39;b&#39;: 1, &#39;c&#39;: [1, 2, 3], &#39;d&#39;: (1, 2, 3)}

print(d.keys())
l = list(d.keys())
print(l)
print(l[1])
ログイン後にコピー

输出结果如下:

dict_keys(['a', 'b', 'c', 'd'])
['a', 'b', 'c', 'd']
b

第三行的返回结果中,只有键,第四行把返回结果转换成了列表,第五行对这个列表进行输出,第六行输出列表中党的第二个元素,也就是字典的第二个键

9:获取值

既然能值获取到字典中的键,当然也能只获取字典中的字。就是values()方法

d = {&#39;a&#39;: &#39;我是a&#39;, &#39;b&#39;: 1, &#39;c&#39;: [1, 2, 3], &#39;d&#39;: (1, 2, 3)}

print(d.values())
l = list(d.values())
print(l)
print(l[1])
ログイン後にコピー

输出结果如下:

dict_values(['我是a', 1, [1, 2, 3], (1, 2, 3)])
['我是a', 1, [1, 2, 3], (1, 2, 3)]

与keys方法类似,只不过返回结果是字典中所有的键值而已。

python学习网,免费的在线学习python平台,欢迎关注!

以上がPython辞書の基本的な操作は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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