Python学习之路06——字典

创建字典

dict(**kwargs)
dict(mapping)
字典中存放的的元素为:键-值对,使用 {} 创建字典
注意:键-值对中的键不能为 list、dict、set
若初始化字典时出现重复的键,则后面的键-值对视为对首次出现的键-值对做修改
# 创建空字典
>>> D1 = {}
>>> D1 = dict()

# 有重复键:后面的键-值对视为对首次出现的键-值对做修改
>>> D3 = {'小明':'18岁','小红':'19岁','小明':'20岁'}
>>> D3
{'小明': '20岁', '小红': '19岁'}

# 使用 dict() 创建字典:接受一个参数
>>> D4 = dict((('小明','20岁'),('小红','19岁')))
>>> D4
{'小明': '20岁', '小红': '19岁'}

# 使用键-值对方式创建字典:键不带引号,自动转化成字符串
>>> D5 = dict(小明='20岁',小红='19岁')
>>> D5
{'小明': '20岁', '小红': '19岁'}

访问和修改字典

按键访问字典,若访问的键-值对不存在,则报错
修改键-值对时,若该键-值对不存在,则添加
>>> D1 = {'小明':'18岁','小红':'19岁'}
>>> D1['小明']
'18岁'
>>> D1['小兰'] = '20岁'
>>> D1
{'小明': '18岁', '小红': '19岁', '小兰': '20岁'}

字典中的常用方法

fromkeys

fromkeys(iterable, value=None, /)
用于对一个可迭代对象中的多个键批量设置同一个值
# 值缺省则默认为None
>>> dict.fromkeys((1,2,3))
{1: None, 2: None, 3: None}

# 多个键设置统一值
>>> dict.fromkeys((1,2,3),'Hello')
{1: 'Hello', 2: 'Hello', 3: 'Hello'}

# 多个键设置统一值
>>> dict.fromkeys((1,2,3),(1,2,3))
{1: (1, 2, 3), 2: (1, 2, 3), 3: (1, 2, 3)}

keys、values、items

keys()
用于得到字典中的所有键组成的可迭代对象

values()
用于得到字典中的所有值组成的可迭代对象,值可重复出现

items()
用于得到字典中的所有键-值对组成的可迭代对象
可用 key,value 形式承接一个键值对,分别对应键和值
>>> D1 = dict.fromkeys((1,2,3,4,5),'Good')

# keys方法得到字典中的所有键
>>> D1.keys()
dict_keys([1, 2, 3, 4, 5])

# values方法得到字典中的所有值
>>> D1.values()
dict_values(['Good', 'Good', 'Good', 'Good', 'Good'])

# items方法得到字典中的所有键-值对
>>> D1.items()
dict_items([(1, 'Good'), (2, 'Good'), (3, 'Good'), (4, 'Good'), (5, 'Good')])

get

get(self, key, default=None, /)
用于根据指定的键得到对应值,键不存在时输出预设信息
>>> D1 = dict.fromkeys(range(10),'存在')
>>> D1.get(9,'不存在')  # 键存在,输出值
'存在'
>>> D1.get(10,'不存在') # 键不存在,输出预设信息
'不存在'

setdefault、update

setdefault(self, key, default=None, /)
用于添加新的键-值对,若键已存在,则添加新的键-值对的语句不起作用

update(dict)
update方法使用一个字典去更新另一个字典
可对字典进行修改或添加元素
重复键对应的键-值对会覆盖原有的
>>> D1 = {1:'one',2:'two',3:'three'}

# setdefault方法:添加新元素,只有第一次添加起效果
>>> D1.setdefault(4)
>>> D1
{1: 'one', 2: 'two', 3: 'three', 4: None}
>>> D1.setdefault(4,'four')
>>> D1
{1: 'one', 2: 'two', 3: 'three', 4: None}

# update方法:用一个字典更新另一个字典
>>> D1.update({4:'four',5:'five'})
>>> D1
{1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five'}

pop、popitem、clear、del

pop(k[,d])
用于按键弹出对应值,并删除键-值对
若指定了d,则当键不存在时返回d

popitem(self, /)
用于随机弹出键-值对

clear()
用于清空字典

del方法用于删除字典
>>> D1 = {1:'one', 2:'two', 3:'three'}
>>> D1.pop(1)
'one'
>>> D1.popitem()
(3, 'three')
>>> D1
{2: 'two'}
>>> D1.clear()
>>> D1
{}
>>> del D1
>>> D1
NameError: name 'D1' is not defined

copy

copy()
用于得到一个与原字典元素一样的新字典,为深拷贝
>>> D1 = {1:'one',2:'two'}
>>> D2 = D1.copy()
>>> D1 == D2
True
>>> D1 is D2
False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值