Python 一文学会字典数据类型【简单易懂,代码可以直接运行,强烈推荐】

Python 一文学会字典数据类型【简单易懂,代码可以直接运行,强烈推荐】

‘’’
字典的含义:字典存储的是生活中一个物体的信息
字典的特征:
组成它的数据:key:value组合
字典中的key不能重复
字典中的key:value无序,–3.7的python更改了字典的无序性让字典有序了
‘’’

本文内容如下:
#字典的声明
#声明字典
#使用{}可以声明空字典
#一对花括号表示字典而非集合,所以创建空集合必须使用构造函数set()和frozenset()来表示
#声明一个带有值的字典
#每一个tuple就是一个键值对
#使用条件:两个元组合并成一个字典时会用的到
#将两个列表/元组/合并成一个字典
‘’’
字典的操作
1.添加操作
dict_name[key] = value-重点
‘’’
2.setdefault(‘key’,‘value’)
#setdefault方法是给一个字典的某一个键设置默认值,但是不能做到修改某个键的值的功能
‘’’
2.修改操作
dict_name[key] = 新的value
‘’’
#2.p.update(p2)函数,如果p2与p中的key相同则替换p中原本的value值,如果存在不相同的key值,则直接补充进去
#键相同的情况,将p1里面的value更新到dict的key下
#键不同的情况,将P2的key值设置到p中
‘’’
删除操作
(1)pop(出栈):弹出一个指定key的数据,兵将这个key删除
返回值就是删除key所对应的value
‘’’
#popitem()函数:随机弹出一个键值元组,随机的原因就是字典是无序的,python3.7之后的版本中,popitem删除元素是从后往前的,同时dict是有序的
#clear()清空字典
‘’’
查找操作
(1)通过key查找value:dict[key]
如果key存在就报错
‘’’
#(2)获取所有的key:dict.keys()
‘’’
如何遍历字典
1.如果用for循环遍历字典得到的就是key值
2.iteam方法返回可遍历的(键,值)元组数组
‘’’
#for循环遍历
for i in p:
print(p[i])
‘’’
yubenben
19
180
man
‘’’
#正确的遍历方式
for key in p.keys():
print(key,p[key])
‘’’
name yubenben
age 19
hehight 180
sex man
‘’’
#第二种正确遍历方式
#items(),将字典划分为一个个小元组
for i in p.items():
print(i)
‘’’
(‘name’, ‘yubenben’)
(‘age’, 19)
(‘hehight’, 180)
(‘sex’, ‘man’)
‘’’
#对于元组序列的拆包:保证变量的数量与元组值的数量要一直
#t1,t2,t3,t4 ,t5,t6,t7,t8 = p#error
t1,t2,t3,t4 = p
print(t1,t2,t3,t4)#name age hehight sex
t = (‘namcdddsdddddddde’,‘Anine’)
t1,t2 = t
print(t1,t2)
#最终版本的遍历
for key,value in p.items():
print(key,value)
点个👍吧,秋梨膏!!!!

代码如下:

import time
'''
字典的含义:字典存储的是生活中一个物体的信息
字典的特征:
组成它的数据:key:value组合
字典中的key不能重复
字典中的key:value无序,--3.7的python更改了字典的无序性让字典有序了
'''
#字典的声明
#声明字典
#使用{}可以声明空字典
dct1 = {}#一对花括号表示字典而非集合,所以创建空集合必须使用构造函数set()和frozenset()来表示
print(type(dct1))
#2 dict()
dct2 = dict()
print(type(dct2))
#声明一个带有值的字典
dct3 = {'name':'yubenben','age':19}
print(dct3)
#4 dict([tuple1,tuple2.....])
#每一个tuple就是一个键值对
# 使用条件:两个元组合并成一个字典时会用的到
# dct4 = dict([('name','age','school','hai'),('YYX',20,'henu','hello')]) #报错
dct4 = dict([('name','age'),('YYX',20)])#{'name': 'age', 'YYX': 20}
print(dct4)
dct5 = dict(list(zip(['name','age','school','hai'],['YYX',20,'henu','hello'])))
print(dct5)
#将两个列表/元组/合并成一个字典
key_list = ['name','age','gender','height']
value_list = ['yubenben',19,'man',180]
dct6 = dict(list(zip(key_list,value_list)))
print(dct6)
print('==='*50)
'''
字典的操作
1.添加操作
dict_name[key] = value-重点
'''
p = {}
p['name'] = 'yubenben'
p['age'] = 19
p['height'] = 180
print(p)#{'name': 'yubenben', 'age': 19, 'height': 180}
# 2.setdefault('key','value')
#setdefault方法是给一个字典的某一个键设置默认值,但是不能做到修改某个键的值的功能
p.setdefault('性别','男')
print(p)#{'name': 'yubenben', 'age': 19, 'height': 180, '性别': '男'}
p.setdefault('性别','女')
print(p)#{'name': 'yubenben', 'age': 19, 'height': 180, '性别': '男'}
print('==='*50)
'''
2.修改操作
dict_name[key] = 新的value
'''
p['性别'] = '女'
p['name'] = 'YYX'
print(p)#{'name': 'YYX', 'age': 19, 'height': 180, '性别': '女'}
#2.p.update(p2)函数,如果p2与p中的key相同则替换p中原本的value值,如果存在不相同的key值,则直接补充进去
#键相同的情况,将p1里面的value更新到dict的key下
p1 = {'age':18,'height':173}
p.update(p1)
print(p)
#键不同的情况,将P2的key值设置到p中
p2 = {'name1':'yubenben','age1':19,'height':180}
p.update(p2)
print(p)
print('==='*50)
'''
删除操作
(1)pop(出栈):弹出一个指定key的数据,兵将这个key删除
返回值就是删除key所对应的value
'''
res = p.pop('name')
print(res)#YYX
print(p)#{'age': 18, 'height': 180, '性别': '女', 'name1': 'yubenben', 'age1': 19}
print('==='*50)
# res = p.pop('age1')
# print(res)#19
# print(p)#{'age': 18, 'height': 180, '性别': '女', 'name1': 'yubenben'}
#popitem()函数:随机弹出一个键值元组,随机的原因就是字典是无序的,python3.7之后的版本中,popitem删除元素是从后往前的,同时dict是有序的
print(p)
# p.popitem()
print(p.popitem())
print('===='*50)
for i in range(len(p)-1):
    time.sleep(0.1)#使程序每个1秒运行一次
    p.popitem()
    print(p)
print('===='*50)
#clear()清空字典
p.clear()
print(p)
print('==='*30)
'''
查找操作
(1)通过key查找value:dict[key]
如果key存在就报错
'''
p = {'name':'yubenben','age':19,'hehight':180,'sex':'man'}
print(p['name'])#yubenben
# print(p['hobby'])#error
#(2)获取所有的key:dict.keys()
print(p.keys())#dict_keys(['name', 'age', 'hehight', 'sex'])
keys = p.keys()
print(type(keys))#<class 'dict_keys'>可迭代对象
print(list(keys))#['name', 'age', 'hehight', 'sex']
print('==='*50)
'''
如何遍历字典
1.如果用for循环遍历字典得到的就是key值
2.iteam方法返回可遍历的(键,值)元组数组
'''
#for循环遍历
for i in p:
    print(p[i])
'''
yubenben
19
180
man
'''
#正确的遍历方式
for key in p.keys():
    print(key,p[key])
'''
name yubenben
age 19
hehight 180
sex man
'''
#第二种正确遍历方式
#items(),将字典划分为一个个小元组
for i in p.items():
    print(i)
'''
('name', 'yubenben')
('age', 19)
('hehight', 180)
('sex', 'man')
'''
#对于元组序列的拆包:保证变量的数量与元组值的数量要一直
# t1,t2,t3,t4 ,t5,t6,t7,t8 = p#error
t1,t2,t3,t4 = p
print(t1,t2,t3,t4)#name age hehight sex
t = ('namcdddsdddddddde','Anine')
t1,t2 = t
print(t1,t2)


#最终版本的遍历
for key,value in p.items():
    print(key,value)

点个👍吧,秋梨膏!!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

henu-于笨笨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值