Python_字典_Day_01

本文介绍了Python字典的创建方法,包括直接赋值、使用dict()、fromkeys()函数以及通过键值对序列创建。此外,还讲解了字典访问方式,如通过键访问和使用get()方法安全获取值。最后,强调了字典中键的唯一性和覆盖规则。
摘要由CSDN通过智能技术生成
#作者:chen
#时间:2021/4/24 10:01
#字典是python中常用的一种数据结构,它是由键值对组成,每一键值对表示一种映射或对应关系,
# 其中键可以是python中任意不可变数据,如整数,字符串,元组等,
# 但不能使用列表,集合,字典或其他可变类型作为字典的键,值可以是任意数据类型
#1,直接赋值创建字典
#语法 变量名 = {键1:值1,键2:值2,键3:值3,....}
# dic_infor = {'name':'小明','age':12,'sex':'男','className':'计科1802'}

#2,使用内置函数dict()创建字典
# dic_infor_1 = dict(dic_infor)#通过其他字典创建
# # print(dic_infor_1)#创建success
# dic_infor_2 = dict([('name','小明'),('age',12)])#通过键值对的序列创建
# print(dic_infor_2)
# dic_infor_3 = dict(name = '小明',age = 12)#通过关键字参数创建
# print(dic_infor_3)
#扩展:zip()函数将迭代对象作为参数,将对象中相应的元素打包成一个元组
# list_th = ['name','age']
# list_td = ['小明',45]
# list_new = zip(list_th,list_td)#打包为元组组成的zip对象
# print(dict(list_new))

#使用fromkeys()方法创建字典
#前提条件:当所有键对应同一个值时,可以使用fromkeys()方法创建字典
#语法格式:dict.fromkeys(seq[,value]),seq为字典键 值列表,value为设置键序列(seq)的值,不写value默认为None
# dict_1 = dict.fromkeys(['小明','小红'])#不写value
# print(dict_1)
# 运行结果:{'小明': None, '小红': None}
# dict_2 = dict.fromkeys(['小明','小红'],18)
# print(dict_2)
#运行结果{'小明': 18, '小红': 18}两个value都是18,value相等

#注意:字典中的键是唯一的,创建字典时若出现键名相同时,后定义的键会覆盖前面的
# dic_3 = {'a' : 2,'b' : 4,'b' : 7}
# print(dic_3)
#运行结果{'a': 2, 'b': 7}


#@@@@@@@@@@@@@@@@@@字典访问
#字典中的每一个元素都包含两项:键:值
#1,根据键访问位置
# dic_infor = {'name':'小明','age':12,'sex':'男','className':'计科1802'}
# print(dic_infor['name'])
#运行结果:小明
# print(dic_infor['tel'])#这个键不存在
#运行结果
#     print(dic_infor['tel'])#这个键不存在
# KeyError: 'tel' 抛出异常

#2,使用get()方法访问值
#在访问字典时,不确定字典中是否含有某个值,为了防止抛出异常。
# 可以通过get()方法进行获取,若该键存在,则返回相应的值,否值返回默认值
#语法格式:字典名.get(key[,default=None]),default定义默认值,
# 如果指定键的值不存在则返回默认值,当default为空时,则返回None
dic_infor = {'name':'小明','age':12,'sex':'男','className':'计科1802'}
# print(dic_infor.get('name'))
# 运行结果:小明
# print(dic_infor.get('tel'))
# 运行结果:None
print(dic_infor.get('tel','该键在该字典中不存在'))
# 运行结果:该键在该字典中不存在


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值