python字典基础整理

字典:

字典是另一种数据结构 都是成对存储,每个元素都是一个键对象和值对象 通过键对象能苦熬苏访问删除更新 值对象 列表是通过下标来找到相应对象
字典是通过键对象来直接找到 值得 键是任意不可变数据,例如元素整数,字符串,但是是可变的数据 像列表 字典集合不能成为键
且 键不可重复 而值可以是任意数据而且可重复

格式:

使用格式为 :  变量 = { key(键) : value(值) }  键值 成对出现 一个键与值为一个键值对
字典的创建: dict方法
f = dict(name='yaya',age=19)
f1 = [('name','yaya'),('age',19)]
f2 = {} #空对象
通过zip()来创建字典对象
_a = ['name','age','job']
_b = ['yaya','18','sturent']
_c = dict(zip(_a,_b)
按照顺序分前后
通过fromkeys 创建
e = dict.fromkeys(['name','age','job'])
print(_e)
#印结果:{'name': None, 'age': None, 'job': None}
fromkey先定义键 而值为 none none为空意思是还没赋值
字典为可更新型数据结构
a1 =dict(name='yayay',age=18,sex='男')
a1['name'] = '小绿'   #如果有相对应的键再赋值,则更新
print(a1)
#打印结果为:{'name': '小绿', 'age': 18, 'sex': '男'}

a1['job'] = 'com'     #如果没有,则添加键值对
print(a1)
#打印结果为:{'name': '小绿', 'age': 18, 'sex': '男', 'job': 'com'}

字典元素的访问
zi = {'name':'yaya','age':19,'job':'student'}
print(zi['name']
# 打印结果为 yaya
方法为通过,变量名[键的值]来访问 如果键不存在则报错
通过get方法访问元素
print(zi.get('name'))
#打印结果为 yaya
print(zi.get('shuzi','不存在'))
#打印结果为不存在
如果,用get方法,输入的键如果不存在则返回none 如果不想返回none还可以在后面添加默认值
列出所有的键值对那么要用items()函数
print(zi.items()) 
#打印结果dict_items([('name', 'yaya'), ('age', 19), ('job', 'student')]) 
则得到一个元组,里面的列表内分别储存着每个键值对的小元组


如果想列出所有的键
print(zi.keys()) 
#打印结果dict_keys(['name', 'age', 'job'])
列出所有的值
print(zi.values()) 
#打印结果dict_values(['yaya', 19, 'student'])
查询键值对在字典中的对数 len()函数
print(len(zi))
#打印结果:3对
查询字典中是否存在此键 in
print('shuzi'in zi) 
#false 存在则返回True 不存在则返回 false
字典元素的添加修改与删除
i['dizhi']='大兴' 
#打印结果:如果不存在此键则添加{'name': 'yaya', 'age': 19, 'job': 'student', 'dizhi': '大兴'}
update()可以将旧字典的值全部从新定义
字典中元素的删除:
de()方法可以删除指定的键 pop()方法可以直接删除键值对 但是同时可以保存给另一个单独变量
s = zi.pop('dizhi')  
#s打印结果:大兴
popitem()函数可以随机删除键值对 但在删除后会返回他所删除的键值对让使用者知晓是删除的哪个键值对
print(zi.popitem())  
#返回值('job', 'student')
print(zi) 
#再次打印后发现已经将job键值对删除
序列解包:
序列解包可以 用于元组 列表 字典 序列解包 可以让我们方便的进行编组及赋值 
q,w,e = (1,2,3)
(a1,a2,a3)=(1,2,3)
[a,b,c]=[1,2,3]
序列解包用于字典时默认对键进行操作
q = {'shuzi':20,'zimu':a,'wenzi':'zi'}
w,e,r = q  #默认对键进行操作
print(w)
v,b,n, = q.items()  #通过items函数来访问单个键值
print(v) #打印结果('shuzi', 20)
t,y,u = q.values()  #用values函数访问单个值
print(t) #打印结果 20
使用字典和列表来进行数据储存并且实现访问
s1 = {'name':'丫丫','age':18,'shouru':100,'city':'北京'}
s2 = {'name':'小豪','age':19,'shouru':90,'city':'上海'}
s3 = {'name':'小智','age':20,'shouru':80,'city':'深圳'}
tb = [s1,s2,s3]
print(tb[1].get('city')) #打印结果 上海

打印所有信息

for i in range(len(tb)):  #i = 0 ,1 ,2
    print(tb[i]) #打印结果
 {'name': '丫丫', 'age': 18, 'shouru': 100, 'city': '北京'}
{'name': '小豪', 'age': 19, 'shouru': 90, 'city': '上海'}
{'name': '小智', 'age': 20, 'shouru': 80, 'city': '深圳'}
打印所有人的收入的话
for a in range(len(tb)):  #i = 0 ,1 ,2
    print(tb[a].get('shouru'),end=' ')
print() #打印结果 100 90 80 
打印列表所有数据
for v in range(len(tb)):
    print(tb[v].get('name'),tb[v].get('shouru'),tb[v].get('city'))

#打印结果 

丫丫 100 北京
小豪 90 上海
小智 80 深圳

注:本博客为学习中记录要点个人摘录及记录学习点滴,如有纰漏还请多多指教 :D

猜你喜欢

转载自blog.csdn.net/weixin_44689392/article/details/88399797