1. 程式人生 > >python 字典(dict)增刪改查及方法

python 字典(dict)增刪改查及方法

                                            強大自己是唯一獲得幸福的途徑,這是長遠的,而非當下的玩樂!


直接賦值

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> dic1["sex"] = "男"
>>> print(dic1)
{'name': 'zuowei', 'age': 18, 'hobby': 'lp', 'sex': '男'}
>>> dic1["age"] = 8           # 有則改,無則加
>>> print(dic1)
{'name': 'zuowei', 'age': 8, 'hobby': 'lp', 'sex': '男'}

setdefult(self, k, d=None)

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> dic1.setdefault("sex", "男")
>>> print(dic1)
{'name': 'zuowei', 'age': 18, 'hobby': 'lp', 'sex': '男'}
>>> dic1.setdefault("age", 8)      # 有則不變,無則新增
18                                 # 如果有這個key,會返回已存在的值,不會改變
>>> print(dic1)
{'name': 'zuowei', 'age': 18, 'hobby': 'lp', 'sex': '男'}

pop(self, k, d=None)  根據key刪除

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> dic1.pop("hobby")
'lp'                      # 會有返回值
>>> print(dic1)
{'name': 'zuowei', 'age': 18}

clear(清空)

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> dic1.clear()
>>> print(dic1)
{}

del (根據key刪除)

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> del dic1["hobby"]
>>> print(dic1)
{'name': 'zuowei', 'age': 18}

直接賦值(拷貝的增加。。)

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> dic1["sex"] = "男"
>>> print(dic1)
{'name': 'zuowei', 'age': 18, 'hobby': 'lp', 'sex': '男'}
>>> dic1["age"] = 8           # 有則改,無則加
>>> print(dic1)
{'name': 'zuowei', 'age': 8, 'hobby': 'lp', 'sex': '男'}

update(self, E=None, **F)

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> dic2 = {"name": "lp", "age": 18, "height": 150}
>>> dic2.update(dic1)
>>> print(dic2)                     # 覆蓋更新,有則覆蓋,無則新增
{'name': 'zuowei', 'age': 18, 'height': 150, 'hobby': 'lp'}

根據key查詢

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> print(dic1["name"])
zuowei
>>> print(dic1["hobby"])
lp

get(self, k, d=None)

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> print(dic1["name"])
zuowei
>>> print(dic1["hobby"])
lp
>>> dic1.get("name")
'zuowei'
>>> dic1.get("age")
18

for迴圈

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> for k, v in dic1.items():
...     print(k, v)
...
name zuowei
age 18
hobby lp

其他方法

clear(清空)

                 上面已說明

copy

                  請參見深淺copy --> https://blog.csdn.net/z_bright/article/details/84648996

fromkeys(*args **kwargs)

>>> l1 = ["name",  "age", "hobby"]
>>> dic1 = dict.fromkeys(l1, None)
>>> print(dic1)
{'name': None, 'age': None, 'hobby': None}

get

           上面已說明

items(返回一個列表,內為key+value組成的元祖,所以上面for迴圈遍歷 字典.items,可以對應兩個值並列印)

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> print(dic1.items())
dict_items([('name', 'zuowei'), ('age', 18), ('hobby', 'lp')])

keys(返回字典的key)

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> print(dic1.keys())
dict_keys(['name', 'age', 'hobby'])

values(返回字典的value)

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> print(dic1.values())
dict_values(['zuowei', 18, 'lp'])

 

pop

          上面已說明

popitem(隨機返回並刪除字典中的一對鍵和值(一般刪除末尾對)。字典為空則報錯)

>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> dic1.popitem()
('hobby', 'lp')                    # 返回值,可以賦值給其他變數做其他處理
>>> print(dic1)
{'name': 'zuowei', 'age': 18}

setdefault 

              上面已說明

update

                          上面已說明