字典
概念
Python内置数据结构之一,与列表一样是一个可变序列
以键值对的方式存储数据,字典是一个无序的序列
相当于unordered_map,底层是哈希存储
字典的创建
#使用{}创建字典
scores={
'wangchen':1,'hedenghui':2,'hezhaoxuan':3}
print(scores)
#使用dict()创建
student=dict(name='jack',age=19)
print(student)
#空字典
d={
}
print(d)
字典的获取
两种方式,[]或者get(),下面说明了两种区别
scores={
'wangchen':1,'hedenghui':2,'hezhaoxuan':3}
print(scores['wangchen'])
#print(scores['wang']) 报异常错误
print(scores.get('wangchen'))
print(scores.get('wang'))#不存在返回None
print(scores.get('马琦',100))#不存在返回指定值100
字典增删改
#增删改
scores={
'wangchen':1,'hedenghui':2,'hezhaoxuan':3}
print(scores)
scores['chenliu']=99
print(scores)
scores['chenliu']=100
print(scores)
del scores['wangchen']
print(scores)
scores.clear()
print(scores)
获取字典视图
scores={
'wangchen':1,'hedenghui':2,'hezhaoxuan':3}
print(scores.keys())
print(type(scores.keys()))
print(scores.values())
print(type(scores.values()))
print(scores.items())
print(type(scores.items()))
字典的遍历
scores={
'wangchen':1,'hedenghui':2,'hezhaoxuan':3}
for item in scores:
print(item,scores[item])
字典的特点
- 字典中的所有元素都是一个key-value对,key不允许重复,value可以重复
- 字典中的元素是无序的
- 字典中的key必须是不可变对象
- 字典中也可以根据需要动态地伸缩
- 字典会浪费较大的内存,是一种使用空间换时间的数据结构
字典生成式
items=['first','second','third']
nums=[1,2,3]
d={
item:num for item,num in zip(items,nums)}
print(d)
d={
item.upper():num for item,num in zip(items,nums)}
print(d)