python中的字典

字典

目标

  • 字典的应用场景
  • 创建字典的语法
  • 字典常用操作
  • 字典的循环遍历

一、字典的应用场景

思考1 如果有多个数据,例如’Tom’ ’ 男’ ‘20’ 如何快速存储
答 列表

list1=['tom','男',20]

思考2 如何找到 tom
找到下标为0

list1[0]

思考3 如果将来数据发生变化如下所示,还能用list[0]访问到数据‘Tom吗

list1=['男',20,'tom']

不能

思考4 数据顺序发生变换,每个数据的下标也会发生变化,如何保证数据顺序前后使用同一个标准找数据?
答 字典。字典是以键值对的形式出现,字典数据与数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可

二、创建字典

字典特点

  • 符号为大括号
  • 数据为键值对形式出现
  • 各个键值对之间逗号隔开
#有数据
dict1={'name':'Tom', 'age':20,'gender':'男'}
#空字典
dict2={}
dict3=dict{}

字典的常见操作

增加

写法:字典序列[key]=值
注意 如果key存在则修改这个key对应的值;如果key不存在则新增此兼职对

dict1={'name':'Tom', 'age':20,'gender':'男'}
dict1['name']='rrrr'
print(dict1)  
#{'name': 'rrrr', 'age': 20, 'gender': '男'}

dict1['id']=110
print(dict1) 
#{'name': 'rrrr', 'age': 20, 'gender': '男', 'id': 110}

字典是可变数据

删除

del() /del:删除字典或者删除字典中的键值对

dict1={'name':'Tom', 'age':20,'gender':'男'}
del dict1['gender']
print(dict1)
#{'name': 'Tom', 'age': 20}

clear()清空字典

dict1.clear()
print(dict1)
{}

修改

写法:字典序列[key]=值
注意;如果key存在则修改,如果不存在则新增键值对

查找

key值查找

dict1={'name':'Tom', 'age':20,'gender':'男'}
print(dict1['name'])
print(dict1['id'])

如果当前查找的key存在,则返回对应的值,否则报错
get()

语法

字典序列.get(key,默认值)

注意:如果当前查找的key值不存在则返回第二个参数,如果省略第二个参数,则返回None

快速体验

print(dict1.get('name'))  #Tom
print(dict1.get('id',110))#110

print(dict1.get('id'))   #None

keys
#keys
dict1={'name':'Tom', 'age':20,'gender':'男'}
print(dict1.keys())
#dict_keys(['name', 'age', 'gender'])
values
print(dict1.values())
#dict_values(['Tom', 20, '男'])
items
print(dict1.items())
#dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])

循环遍历

key
for key in dict1.keys():
    print(key)
value
for value in dict1.values():
    print(value)
“”“
Tom
20
男
”“”
键值对
for item in dict1.items():
    print(item)
    """
('name', 'Tom')
('age', 20)
('gender', '男')
"""  
键值对拆包
for key,value in dict1.items():
    print(f'{key}={value}')
"""
name=Tom
age=20
gender=男
""" 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

拉格朗日(Lagrange)

手敲不易,谢谢各位老板,打赏

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

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

打赏作者

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

抵扣说明:

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

余额充值