学习pythonD11,字典

本文介绍了Python字典的基础概念,包括如何定义、不同类型的数据转换为字典,以及常用的操作方法如添加、删除和获取值。深入探讨了字典的内置方法、长度计算和成员判断,适合理解Python数据结构的初学者。
摘要由CSDN通过智能技术生成
# 字典定义,{}内用多个逗号分隔开key:value,
# 其中value可以是任何类型,但是key必须是不可变类型,且不能重复
# d = {}  #   默认定义出来的是空字典
# print(d,type(d))

# 另一种定义方法:
# d = dict(x=1,y=2,z=3)
# print(d,type(d))

# 数据类型转换,将列表转换成字典
# info=[
#     ['name','fang'],
#     ('age',18),
#     ['gender','male']
# ]
# 原理:
# d={}
# for item in info:
#     print(item)
#     print(item[0])
#     d[item[0]]=item[1]
# print(d)

# 简洁转换代码:
# res = dict(info)
# print(res)


# 造字典的其他方式:
# keys = ['name','age','gender']
# 原理
# d={}
# for k in keys:
#     d[k]=None
# print(d)

# 方法:{}.fromkeys(键,值),快速构造一个字典,上述代码是其原理
# d ={}.fromkeys(keys,None)
# print(d)


# 内置方法
# 按key存取值,可存可取
# d = {'k1':111}
# d['k1']=333  # key值存在则修改
# print(d['k1'])
# d['k2']=222  # key值不存在则创建新值
# print(d['k2'])  # 注意此处字典和列表的差别


# 长度len
# d = {'k1':111,'k2':333,'k3':222}
# print(len(d))
# d2 = {'k1':111,'k2':333,'k1':222}
# print(len(d2))  # 注意此处和上一个的区别


# 成员运算in和not in,in 是根据key来判断的,而不是key所指向的值
# d = {'k1':111,'k2':333,'k3':222}
# print('k1' in d)
# print(111 in d)

# 删除
# d = {'k1':111,'k2':333,'k3':222}
# 4.1 通用删除
# del d['k1']
# print(d)

# 4.2 pop删除,删除key返回key对应的值
# res = d.pop('k2')
# print(res)
# print(d)


# 4.3 popitem删除,随机删除,返回元组(删除的key和key对应的value)
# res = d.popitem()
# print(d)
# print(res)

# 键keys()、值values()、键值对items();循环
# d = {'k1':111,'k2':333,'k3':222}
# res = d.keys()
# print(res)
# res = d.items()
# print(res)
# res = d.values()
# print(res)
# for k,v in d.items():
#     print(k,v)

# 需要掌握的内置方法
# d = {'k1':111,'k2':333,'k3':222}
# d.update,所有的字典元素都要以新字典为准
# d.update({'k2':555,'k3':959,'k9':'fdsfsf','k1':2222})
# print(d)


# d.get,若是key存在则返回key对应的值,不存在发挥None
# res1 = d.get('k3')
# print(res1)
# res2 = d.get('k5')
# print(res2)

# 如果字典中不存在相应的key,则添加key值,返回字典中key对应的值
# res = d.setdefault('name','fang')
# print(d)
# print(res)

# d.setdefault()
# 如果字典中存在相应的key,则不添加,返回字典中key对应的值
# res =  d.setdefault('k1','4444')
# print(d)
# print(res)
"""
if中必须包含子语句
如果没有子语句,而且不进行任何的if操作,需要加pass
"""




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值