Python数据结构----字典


字典

概念

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])

字典的特点

  1. 字典中的所有元素都是一个key-value对,key不允许重复,value可以重复
  2. 字典中的元素是无序的
  3. 字典中的key必须是不可变对象
  4. 字典中也可以根据需要动态地伸缩
  5. 字典会浪费较大的内存,是一种使用空间换时间的数据结构

字典生成式

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)

在这里插入图片描述

Guess you like

Origin blog.csdn.net/Hedenghui777/article/details/118059320