目录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