Hi 大家好,
今天要開始介紹基礎語法中的字典篇,那我們開始吧!
Q: 什麼是字典(dict, dictionary)?
A: 其實就是我們平常生活中使用到的字典,可以透過你的關鍵字,從字典裡面尋找到相對應的答案。
Q: 那為什麼Python要設計字典這樣的東西?
A: 其實字典的結構和某些程式語言的map
和使用{ }
包住的ojbect,有異曲同工之處。
都是key-value pair
的格式,而key就像是把value加上一個標籤,可以很快的透
過key找到相對應的value
表示方式: { }
, 內建函數dict()
# { key: value }
>>> data = {"name": "巴菲特", "deposit": 9999999, "level": [77, 88]}
>>> data
{'name': '巴菲特', 'deposit': 9999999, 'level': [77, 88]}
>>>
# dict()
>>> data = dict(name="巴菲特", deposit=9999999, level=[77, 88])
>>> data
{'name': '巴菲特', 'deposit': 9999999, 'level': [77, 88]}
>>>
只要使用key來訪問相對應的value
>>> data = dict(name="巴菲特", deposit=9999999, level=[77, 88])
>>> data
{'name': '巴菲特', 'deposit': 9999999, 'level': [77, 88]}
>>> data["name"]
'巴菲特'
>>> data["deposit"]
9999999
>>>
添加方式:
>>> data["age"] = 92
>>> data
{'name': '巴菲特', 'deposit': 9999999, 'level': [77, 88], 'age': 92}
>>> data["gender"] = "Male"
>>> data
{'name': '巴菲特', 'deposit': 9999999, 'level': [77, 88], 'age': 92, 'gender': 'Male'}
>>>
刪除方式:
# 使用del
{'name': '巴菲特', 'deposit': 9999999, 'level': [77, 88], 'age': 92, 'gender': 'Male'}
>>> del data["level"]
>>> data
{'name': '巴菲特', 'deposit': 9999999, 'age': 92, 'gender': 'Male'}
>>>
# 使用pop()
{'name': '巴菲特', 'deposit': 9999999, 'age': 92, 'gender': 'Male'}
>>> data.pop("gender")
'Male'
>>> data
{'name': '巴菲特', 'deposit': 9999999, 'age': 92}
>>>
使用for...in方法
# app.py
datas = {'name': '巴菲特', 'deposit': 9999999, 'age': 92}
for key, value in datas.items():
print(key, value)
PS D:\Project\practice> python app.py
name 巴菲特
deposit 9999999
age 92
PS D:\Project\practice>
使用update()合併:
datas = {'name': '巴菲特', 'deposit': 9999999, 'age': 92}
subdata = {'gender': 'Male'}
datas.update(subdata)
print(datas)
PS D:\Project\practice> python hello.py
{'name': '巴菲特', 'deposit': 9999999, 'age': 92, 'gender': 'Male'}
PS D:\Project\practice>
使用update()更新:
datas = {'name': '巴菲特', 'deposit': 9999999, 'age': 92}
subdata = {'deposit': '1234567890'}
datas.update(subdata)
print(datas)
PS D:\Project\practice> python hello.py
{'name': '巴菲特', 'deposit': '1234567890', 'age': 92}
PS D:\Project\practice>
那今天就介紹到這裡,我們明天見~