python的dict資料型態

python的dict資料型態

  • 在python的List的資料型態中,每個元素以它所在的位置序號作為索引值index來進行資料存取的key值,在dict的資料型態,則是可以自定key值來做為資料的索引值。
  • dict資料型態是用左右大括號 ' { ' 、' } ' 將資料包含在其中,並用逗號 ' , ' 來作為區隔,每個key-value是以冒號 ' : ' 來進行配對,如:
>>> dic={'name':'eric','phone':'0900000000','email':'a@b.c.d'}
>>> dic
{'phone': '0900000000', 'name': 'eric', 'email': 'a@b.c.d'}


  • dict資料型態的key值一定要是字串資料,value值則可以是任何資料型態。
  • dict也可以由List的配對tuple資料轉換而來,其中tuple第一個元素會轉換為key,第二個元素會轉換成value
>>> x=[('name','eric'),('phone','0900000000'),('email','a@b.c.d')]
>>> y=dict(x)
>>> y
{'phone': '0900000000', 'name': 'eric', 'email': 'a@b.c.d'}

>>> y['phone']
'0900000000'

  • 另外也可以用zip的方式將兩個同數量不同List轉換成一個dict資料型態,如:
>>> x=['name','phone','email']
>>> y=['eric','0900000000','a@b.c.d']
>>> z=zip(x,y)
>>> z
[('name', 'eric'), ('phone', '0900000000'), ('email', 'a@b.c.d')]

>>> dict(z)
{'phone': '0900000000', 'name': 'eric', 'email': 'a@b.c.d'}

>>> z
[('name', 'eric'), ('phone', '0900000000'), ('email', 'a@b.c.d')]

>>> r=dict(z)
>>> r
{'phone': '0900000000', 'name': 'eric', 'email': 'a@b.c.d'}

  • 另外,我們也可以將dict轉換成List的資料型態。
>>> t=r.items()
>>> t
[('phone', '0900000000'), ('name', 'eric'), ('email', 'a@b.c.d')]


  • 若我們要取出dict的key或value值時,可以使用keys( )及values( )兩個方法來取出,如
>>> r
{'phone': '0900000000', 'name': 'eric', 'email': 'a@b.c.d'}

>>> r.keys()
['phone', 'name', 'email']

>>> r.values()
['0900000000', 'eric', 'a@b.c.d']

  • 若要刪除某一對key-value組合時,可以使用del指令,如:
>>> r
{'phone': '0900000000', 'name': 'eric', 'email': 'a@b.c.d'}

>>> del r['name']
>>> r
{'phone': '0900000000', 'email': 'a@b.c.d'}

>>>