(1)dict键值对
- 花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
len(d) #len()可以计算任何集合的大小
- key 的元素必须不可变
- Python的基本类型如字符串、整数、浮点数、tuple都是不可变的,都可以作为 key
- list是可变的,就不能作为 key
{
'123': [1, 2, 3], # key 是 str,value是list
123: '123', # key 是 int,value 是 str
('a', 'b'): True # key 是 tuple,并且tuple的每个元素都是不可变对象,value是 boolean
}
- dict内部是无序的,不能用dict存储有序的集合
- key不能重复,重复会被覆盖
d = {
'Adam': 85,
'Adam': 95,
'Bart': 59
}
print(d) # {'Adam': 95, 'Bart': 59}
(2)访问dict
- 简单地使用 d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key:
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
>>> print d['Adam']
95
>>> print d['Paul']
Traceback (most recent call last):
File "index.py", line 11, in <module>
print d['Paul']
KeyError: 'Paul'
- 避免keyError
- 先判断key是否存在
- 使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None
if 'Paul' in d:
print d['Paul']
>>> print d.get('Bart')
59
>>> print d.get('Paul')
None
(3)dict和list区别
- dict特点(空间换时间)
- 查找和插入的速度极快,不会随着key的增加而变慢
- 需要占用大量的内存,内存浪费多。
- list特点
- 查找和插入的时间随着元素的增加而增加
- 占用空间小,浪费内存很少
(4)更新dict
- 如果 key 已经存在,则赋值会用新的 value 替换掉原来的 value
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
>>> d['Paul'] = 72
>>> print d
{'Lisa': 85, 'Paul': 72, 'Adam': 95, 'Bart': 59}
>>> d['Bart'] = 60
>>> print d
{'Lisa': 85, 'Paul': 72, 'Adam': 95, 'Bart': 60}
(5)遍历dict
d= {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
for key in d:
print key + ':', d[key]
网友评论