字典
什么是字典
python提供的容器型數(shù)據(jù)類型,可變并且無序的序列
可變 - 支持增刪改
無序 - 不支持查,下標(biāo)操作
字面量和元素
- 用大括號括起來,里面有多個鍵值對用逗號隔開,鍵值對就是字典的元素。
{key1:value1, key2:value2, key3:value3,...}
鍵值對 - 鍵/key:值/value(鍵值對),鍵值對必須成對出現(xiàn),而且鍵值對,而且脫離字典沒有意義
鍵/key - 必須是可哈希的,是不可變的,而且是唯一的,實(shí)際一般將字符串作為鍵,若有多個相同的鍵保留最后一個鍵的值
值/value - 可以是任意類型的數(shù)據(jù)
注意:字典存儲數(shù)據(jù),實(shí)質(zhì)是通過值來存儲,key是值對應(yīng)的標(biāo)簽和獲取值的方式
dict1 = {} \# 空字典
\# dict2 = {[1, 2]: 120} \# TypeError: unhashable type: 'list'
什么時候用字典:
多個沒有相同意義的數(shù)據(jù)(需要區(qū)分),就使用字典,例如:保持一個人的信息,一輛車的不同信息
什么時候用列表,存儲的多個數(shù)據(jù),是相同意義的數(shù)據(jù)(不需要區(qū)分),使用列表,例如保存一個班的學(xué)生信息,保存所有的價格
person = ['xiaohua', 18, 'girl', 160, 90, 89]
person[1]
person = {'name': 'xiaohua', 'age': 18, 'sex': 'girl', 'height': 160, 'weight': 90, 'score': 89}
person['age']
\# 練習(xí):聲明一個變量保存一個班的學(xué)生信息(4個學(xué)生),每個學(xué)生需要保存姓名,電話和年齡
all\_student = [
{'name': '小明', 'phone': '12345678', 'age': 19},
{'name': '張三', 'phone': '87654321', 'age': 20},
{'name': '李四', 'phone': '132435465', 'age': 21},
{'name': '小華', 'phone': '243215645', 'age': 22},
]
print(all\_student[1])