1. 程式人生 > 程式設計 >Python 字典中的所有方法及用法

Python 字典中的所有方法及用法

字典是Python中唯一內建的對映型別。字典中沒有特殊的順序,但都是儲存在一個特定的鍵(key)下面,鍵可以是數字,字串,甚至是元組

字典的使用

在某些情況下,字典比列表更加適用:
1、表示一個遊戲棋盤的狀態,每個鍵都是由座標值組成的元組
2、儲存檔案修改時間,用檔名作為鍵;
3、數字電話\地址薄

字典的示例

1. setdefault使用

# 有則不變,無則增加
dic1 = {'name': 'lucy','age': 18}
dic1.setdefault('age',45) # {'name': 'lucy','age': 18}
dic1.setdefault('sex','男') # {'name': 'lucy','age': 18,'sex': '男'}

2. pop使用

# 按照鍵刪除鍵值對,有返回值
# 如果設定了第二個引數則無論字典中有無此鍵都不會報錯
dic2 = {'name': 'lucy','age': 18}
ret2 = dic2.pop('age')
print(ret2) # 18
print(dic2) # {'name': 'lucy'}

dic3 = {'name': 'lucy','age': 18}
ret3 = dic3.pop('sex','沒有此鍵')
print(ret3) # 沒有此鍵
print(dic3) # {'name': 'lucy','age': 18}

3. clear使用

# 清空
dic4 = {'name': 'lucy','age': 18}
dic4.clear()
print(dic4) # {}

4. get使用

dic5 = {'name': 'lucy','hobby_list': ['study','play','shopping']}

l1 = dic5.get('hobby_list')
print(l1) # ['study','shopping']

l2 = dic5.get('sex')
print(l2) # None

l3 = dic5.get('sex','沒有此鍵')
print(l3) # 沒有此鍵

5. keys()使用

dic6 = {'name': 'lucy','shopping']}

# 1. 特殊的資料型別,類似於列表,但是沒有索引
print(dic6.keys(),type(dic6.keys())) # dict_keys(['name','age','hobby_list']) <class 'dict_keys'>

# 2. 可以轉化成列表
l1 = list(dic6.keys())
print(l1) # ['name','hobby_list']

# 3. 迴圈遍歷
for k in dic6.keys():
  print(k,end=',') # name,age,hobby_list,for k in dic6:
  print(k,

6. values()使用

dic7 = {'name': 'lucy','shopping']}

# 1. 特殊的資料型別,類似於列表,但是沒有索引
print(dic7.values()) # dict_values(['lucy',18,['study','shopping']])

# 2. 可以轉化成列表
print(list(dic7.values())) # ['lucy','shopping']

# 3. 迴圈遍歷
for val in dic7.values():
  print(val,') # lucy,'shopping'],

7. items()使用

dic8 = {'name': 'lucy','shopping']}
print(dic8.items()) # dict_items([('name','lucy'),('age',18),('hobby_list','shopping'])])

for it in dic8.items():
  print(it)
# ('name','lucy')
# ('age',18)
# ('hobby_list','shopping'])

# 利用了元組的拆包
for key,value in dic8.items():
  print(key,value)
# name lucy
# age 18
# hobby_list ['study','shopping']

8. update()使用

# 更新,有則覆蓋,無則新增
# 1. 增加鍵值對
# 方式一:
dic9 = {'name': 'lucy','age': 18}
dic9.update(hobby='運動',hight=178)
print(dic9) # {'name': 'lucy','hobby': '運動','hight': 178}

# 方式二:
dic10 = {'name': 'lucy','age': 18}
dic10.update([('hobby','運動'),('hight',178)])
print(dic10) # {'name': 'lucy','hight': 178}

# 方式三:
dic11 = {'name': 'lucy','age': 18}
dic12 = {'name': 'tom','hight': 178}
dic11.update(dic12)
print(dic11) # {'name': 'tom','hight': 178}

# 2. 修改鍵所對應的值
dic13 = {'name': 'lucy','age': 18}
dic13.update(name='tom')
print(dic13) # {'name': 'tom','age': 18}

9. fromkeys()使用

# 沒有指定value,預設None
dict14 = dict.fromkeys(['k1','k2','k3'])
print(dict14) # {'k1': None,'k2': None,'k3': None}

# 指定value
dict14 = dict.fromkeys(['k1','k3'],'value')
print(dict14) # {'k1': 'value','k2': 'value','k3': 'value'}

10. copy使用

# 淺拷貝
dict15 = dict(one=1,two=2,three=3)
dict16 = dict15.copy()
print(dict16)

11. popitem()使用

# 隨機刪除字典中的一對 鍵和值
dict17 = dict(one=1,three=3)
a = dict17.popitem()
print(a)
print(dict17)

到此這篇關於Python 字典中的所有方法及用法的文章就介紹到這了,更多相關Python 字典方法及用法內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!