1. 程式人生 > >Python中的字典(Dict)

Python中的字典(Dict)

dict 格式:

dict={key1:values1,key2:values,key3:values,...}
dict={'name':'john','age':'22','address':'北京'}

字典的常用操作 (1)查詢字典中的元素 ①直接用變數名查詢 for example:

dict={'name':'john','age':'22','address':'北京'}
print(dict['name'],dict['age'])

程式執行結果: john 22 ②get() 在字典中找元素是根據key(鍵)值來找

dict={'name':'john','age':'22','address':'北京'}
age=dict.get('age')
print(age)
id=dict.get('id')
print(id)
phone_name=dict.get('phone_name',12345678)
print(phone_name)

程式執行結果: 22 None 12345678 我們在字典中查詢一個元素但是又不確定這個元素在不在字典中,這是我們就可以是get()函數了,如果元素不存在於字典中,返回值為None,並且可以直接用get()函式來設定一個預設值. (2)在字典中新增一個元素** for example:

dict={'name':'john','age':'22','address':'北京'}
dict['phone_name']=1234555443
print(dict)

程式執行結果: {‘name’: ‘john’, ‘age’: ‘22’, ‘address’: ‘北京’, ‘phone_name’: 1234555443} 變數名[“鍵”]=資料時,如果字典中沒有,直接建立並且新增到字典最後. (3)修改字典中的元素

for example:

dict={'name':'john','age':'22','address':'北京'}
dict['name']='Mary'
print(dict)
dict['phone_name']='1234567'
print(dict)

程式執行結果: {‘name’: ‘Mary’, ‘age’: ‘22’, ‘address’: ‘北京’} {‘name’: ‘Mary’, ‘age’: ‘22’, ‘address’: ‘北京’, ‘phone_name’: ‘1234567’} 變數名[“key”]=資料時,如果鍵值存在,則會改變原來的值,否則則會自動建立並且放在字典最後. (4)刪除字典中的元素

①del dict[key] for example:

dict={'name':'john','age':'22','address':'北京'}
del dict['name']
print(dict)

程式執行結果: {‘age’: ‘22’, ‘address’: ‘北京’} 在字典中用del來刪除指定元素 ②clear() for example:

dict={'name':'john','age':'22','address':'北京'}
dict.clear()
print(dict)

程式執行結果: {} 在字典中clear用來清空字典 ③pop(key) for example:

dict={'name':'john','age':'22','address':'北京'}
dict.pop('name')
print(dict)

程式執行結果: {‘age’: ‘22’, ‘address’: ‘北京’} 在字典中用pop(key)來刪除指定鍵值的資料 (5)字典中的常用函式 for example:

dict={'name':'john','age':'22','address':'北京'}
print('該字典的長度為:',len(dict))
print('該字典的鍵集合為:',dict.keys())
print('該字典的鍵集合為:',dict.values())
print('該字典的鍵值對集合為:',dict.items())

程式執行的結果: 該字典的長度為: 3 該字典的鍵集合為: dict_keys([‘name’, ‘age’, ‘address’]) 該字典的鍵集合為: dict_values([‘john’, ‘22’, ‘北京’]) 該字典的鍵值對集合為: dict_items([(‘name’, ‘john’), (‘age’, ‘22’), (‘address’, ‘北京’)]) len(字典名)用來求字典的長度;dict.keys()用來求字典的所鍵;dict.values()用來求字典的所有值;dict.items()用來求字典所有的鍵值對. (6)字典的遍歷 ①遍歷字典中所有的鍵 for example:

dict={'name':'john','age':'22','address':'北京'}
key=dict.keys()
for key1 in key:
    print(key1)

程式執行結果: name age address ②遍歷字典中所有的值 for example:

dict={'name':'john','age':'22','address':'北京'}
values=dict.values()
for values1 in values:
    print(values1)

程式執行的結果: john 22 北京 ③遍歷字典中所有的鍵值對 for example:

dict={'name':'john','age':'22','address':'北京'}
items=dict.items()
for items1 in items:
    print(items1)

程式執行的結果: (‘name’, ‘john’) (‘age’, ‘22’) (‘address’, ‘北京’) ④遍歷字典中的鍵值對(改進版) for example:

dict={'name':'john','age':'22','address':'北京'}
items=dict.items()
for keys,values in items:
    print('keys=%s,values=%s'%(keys,values))

程式執行結果: keys=name,values=john keys=age,values=22 keys=address,values=北京 字典與列表的優缺點比較

  • 優點
  • 字典查詢和插入的速度較快,不會隨著key-value的增加而變慢
  • 列表需要從頭遍歷,列表的順序變化後查詢引數也要改變
  • 缺點
    • 字典需要佔用較大的記憶體
    • 列表結構比較簡單,佔用記憶體比較小