目錄python
若是如今有個需求須要存個人信息,經過咱們以前學習的數據類型,只有列表可以存儲咱們的信息。學習
user_info = ['nick', 'male', '19', ['oldboy', 'shanghai', 50]] print(user_info[1]) # 'male' print(user_info[0]) # 'nick' print(user_info[3][1]) # 'shanghai'
male nick shanghai
使用列表雖然達到了咱們的目的,可是咱們能經過列表取值的時候,是基於咱們已經知道了列表內部全部的元素。所以咱們是否是能夠給列表內的每個元素都添加一個描述信息呢?不然若是不是存個人信息,而是用列表存取了成千上萬個值,那麼咱們怎麼經過索引精準取值呢?這樣看起來好像是不可能的,所以可使用新的數據類型——字典。spa
用來存取多個值,按照key:value的方式存值,取的時候能夠經過key而非索引去取值,key對value具備描述性的做用。存放數據的種類各類各樣而且數據較多的時候可使用字典。code
在{}內用逗號分隔開多個元素,每個元素都是key: value的格式,其中value是任意格式的數據類型,key因爲具備描述性的做用,因此key一般是字符串類型。索引
user_info = {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': ['oldboy', 'shanghai', 50]} print(id(user_info)) print(type(user_info)) print(user_info)
4396183344 <class 'dict'> {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': ['oldboy', 'shanghai', 50]}
字典取值方式再也不依賴於索引,而是依賴於key,經過[key]便可獲取key對應的value值。字符串
# 字典套列表 user_info = {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': ['oldboy', 'shanghai', 50]} print(user_info['name']) print(user_info['company_info'][0])
nick oldboy
# 字典套字典 user_info = {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': { 'c_name': 'oldboy', 'c_addr': 'shanghai', 'c_num_of_employee': 50}} print(user_info['name']) print(user_info['company_info']['c_name'])
nick oldboy
取出students中第一個學生的姓名it
students = [ {'name': 'nick', 'age': 19}, {'name': 'egon', 'age': 18} ] print(students[0]['name'])
nick