Python プログラミング入門 (013) - 辞書操作 (2): 一般的な辞書操作のまとめ

Python プログラミング入門 (013) - 辞書操作 (2): 一般的な辞書操作のまとめ

1. 辞書内の要素の値を取得します。

1. dictname[key] を使用します

形式は次のとおりです。

dictname[key]

注: キー値が辞書に存在しない場合、プログラムはエラーを報告します。

例えば:

dict1 = {
    
    11:"Java",22:"Python",33:"C++",44:"C#",55:"Rust"}
print(dict1[11])
print(type(dict1[11]))
print(dict1[12])  # key不存在

运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
Java
<class 'str'>
Traceback (most recent call last):
  File "C:\Python\Python38\First.py", line 4, in <module>
    print(dict1[12])  # key不存在
KeyError: 12

キーが存在するかどうか不明な場合は、次の操作を行うことができます。

dict1 = {
    
    11:"Java",22:"Python",33:"C++",44:"C#",55:"Rust"}
if 11 in dict1:
    print(dict1[11])
    print(type(dict1[11]))
if 12 in dict1:
    print(dict1[12])
    print(type(dict1[12]))
else:
    print("key值不存在")  # key不存在
    
运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
Java
<class 'str'>
key值不存在

2. get() メソッドを使用する

get() メソッドの構文形式は次のとおりです。

dictname.get(key)

注: キー値が辞書に存在しない場合は、None が返されます。

次のように:

dict1 = {
    
    11:"Java",22:"Python",33:"C++",44:"C#",55:"Rust"}
print(dict1.get(11))
print(type(dict1.get(11)))
print(dict1.get(12))  # key值不存在
    
运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
Java
<class 'str'>
None

2. 要素の追加または値の変更

1. dictname[key] を使用します

形式は次のとおりです。

dictname[key] = vlaue

注: ディクショナリ内のキーは一意であるため、キー値がディクショナリに存在しない場合は、キーと値のペアを追加します。キー値がすでにディクショナリに存在する場合は、値の値を変更します。

例えば:

dict1 = {
    
    11:"Java",22:"Python",33:"C++",44:"C#",55:"Rust"}
dict1[66] = "MySQL"
print(dict1)

运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
{
    
    11: 'Java', 22: 'Python', 33: 'C++', 44: 'C#', 55: 'Rust', 66: 'MySQL'}

2. update() メソッドを使用する

update() メソッドの構文形式は次のとおりです。

dictname.update(key = value)

説明: キーがすでに存在する場合は、値を更新します。キーが存在しない場合は、新しいキーと値のペアを追加します。

例えば:

dict1 = {
    
    "BookName":"Java从入门到精通","Author":"郑云","Price":59.8}
dict1.update(Price = 52.5)  # key值存在,更新对应的value值
print(dict1)  
dict1.update(Remark = "教材")  # key值不存在,添加一个新的键值对
print(dict1)  

运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
{
    
    'BookName': 'Java从入门到精通', 'Author': '郑云', 'Price': 52.5}
{
    
    'BookName': 'Java从入门到精通', 'Author': '郑云', 'Price': 52.5, 'Remark': '教材'}

3. 要素を削除する

1. Pop()メソッドを使用して要素を削除します

Pop() メソッドを使用して、ディクショナリ内の指定されたキーに対応するキーと値のペアを削除し、削除された値を返します。Pop() メソッドの構文形式は次のとおりです。

dictname.pop(key[,default])

パラメータの説明:

(1) key:削除するキーを指定します。

(2) デフォルト: 削除するキーが存在しない場合はデフォルト値を返します。

(3) 辞書内に削除対象のキーが存在せず、デフォルトパラメータが指定されていない場合は、keyerror 例外がスローされます。

例えば:

dict1= {
    
    11:"Java",22:"Python",33:"C++",44:"Go",55:"Rust"}
item1 = dict1.pop(11,"要删除的值不存在")
print("pop()函数的返回值为:",item1)
print(type(item1))
print(dict1)
item1 = dict1.pop(12,"要删除的值不存在")
print("pop()函数的返回值为:",item1)
print(type(item1))
print(dict1)
item1 = dict1.pop(13)  # 出错
print("返回值为:",item1)
print(type(item1))
print(dict1)

运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
pop()函数的返回值为: Java
<class 'str'>
{
    
    22: 'Python', 33: 'C++', 44: 'Go', 55: 'Rust'}
pop()函数的返回值为: 要删除的值不存在
<class 'str'>
{
    
    22: 'Python', 33: 'C++', 44: 'Go', 55: 'Rust'}
Traceback (most recent call last):
  File "C:\Python\Python38\First.py", line 10, in <module>
    item1 = dict1.pop(13)  # 出错
KeyError: 13

2. Popitem()メソッドを使用して要素を削除します

Popitem() メソッドを使用して、ディクショナリ内の最後のキーと値のペアを削除し、このキーと値のペアをタプル (キー、値) として返します。Popitem() メソッドの構文形式は次のとおりです。

dictname.popitem()

例えば:

(): 戻り値はタプル (キー、値) デフォルトでは、asm に置かれた投票ファイルは削除され、後ろから前に変更されます。

dict1 = {
    
    11:"Java",22:"Python",33:"C++",44:"C#",55:"Rust"}
item1 = dict1.popitem()
print("返回值:",item1)
print("返回值类型:",type(item1))
print(dict1)
item1 = dict1.popitem()
print(dict1)

运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
返回值: (55, 'Rust')
返回值类型: <class 'tuple'>
{
    
    11: 'Java', 22: 'Python', 33: 'C++', 44: 'C#'}
{
    
    11: 'Java', 22: 'Python', 33: 'C++'}

3. del を使用して、辞書または辞書内の要素を削除します。

(1) 辞書の削除

形式は次のとおりです。

del dictname 
或
del(dictname) 

例えば:

dict1 = {
    
    "BookName":"Java从入门到精通","Author":"郑云","Price":59.8}
del dict1
print(dict1) 

运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
Traceback (most recent call last):
  File "C:\Python\Python38\First.py", line 3, in <module>
    print(dict1)
NameError: name 'dict1' is not defined

(2) 辞書内の要素を削除する

del dict1[key]del(dict1[key]) 

例えば:

dict1 = {
    
    "BookName":"Java从入门到精通","Author":"郑云","Price":59.8}
del dict1["Price"]
print(dict1)  

运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
{
    
    'BookName': 'Java从入门到精通', 'Author': '郑云'}

4. 辞書を結合する

update() メソッドを使用して、ある辞書の内容を別の辞書にマージします。形式は次のとおりです。

dict1.update(dict2)   # 将dict2合并到dict1

例えば:

dict1 = {
    
    "BookName":"Java从入门到精通","Author":"郑云"}
dict2 = {
    
    "Price":59.8,"Remark":"教材"}
dict1.update(dict2)
print(dict1)  

运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
{
    
    'BookName': 'Java从入门到精通', 'Author': '郑云', 'Price': 59.8, 'Remark': '教材'}

5. 辞書内の要素の数を返します。

len() 関数を使用して、辞書の要素形式を返します。形式は次のとおりです。

len(dictname)

例えば:

dict1 = {
    
    "BookName":"Java从入门到精通","Author":"郑云","Price":59.8,"Remark":"教材"}
print(len(dict1)) 

运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
4

おすすめ

転載: blog.csdn.net/weixin_44377973/article/details/132171438