010 字典dict
如果我们需要用一个变量记录多个值,但多个值是不同属性的,比如人的姓名、年龄、身高,用列表可以存,但列表是用索引对应值的,而索引不能明确地表示值的含义,这就用到字典类型,字典类型是用key:value形式来存储数据,其中key可以对value有描述性的功能
字典的初识:
列表:
列表可以存储大量的数据,数据之间的关联性不强;
列表查询速度比较慢
容器型数据类型: dict
数据类型的分类(可变与不可变):
可变(不可哈希)的数据类型:list dict set
不可变(可哈希)的数据类型:str float complex bool int tuple
字典:{} 括起来,以键值对形式存储的容器型数据类型
dic = { '太白':
{'name':'王金刚','age':18},
'python':['中国','美国','日本']
}
1.键必须是不可变的数据类型:int bool float complex str tule;
2.值可以是任意数据类型,对象;
3.字典 3.5 之前(含3.5) 是无序的;
4.字典3.6会按照初次建立字典的顺序;
5.字典3.7 以后都是有序的;
6.字典的优点:查询速度非常快,存储关联性的数据;
7.字典的缺点:以空间换时间;
2. 定义
message={'name':'tony','age':18,'height':185.3}
3. 使用
# 1、字典类型是用key来对应值,key可以对值有描述性的功能,通常为字符串类型
>>> message={'name':'tony','age':18,'height':185.3}
>>> message['name']
'tony'
>>> person_info['age']
18
>>> person_info['height']
185.3
# 2、字典可以嵌套,嵌套取值如下
>>> students=[
... {'name':'tony','age':38,'hobbies':['play','sleep']},
... {'name':'jack','age':18,'hobbies':['read','sleep']},
... {'name':'rose','age':58,'hobbies':['music','read','sleep']},
... ]
>>> students[1]['hobbies'][1] #取第二个学生的第二个爱好
'sleep'