Python基础精进 - Day4

 字典

字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,可以通过“键对象”实现快速获取、删除、更新对应的“值对象”。

“键”是任意的不可变数据,比如:整数、浮点数、字符串、元组,不能是列表、字典、集合这些可变对象,并且键不可重复。

“值”可以是任意的数据,并且可以重复。

字典的创建

1. 可以通过{}、dict()来创建字典对象,并且字典对象可以为空。

2. 使用zip()内置函数创建。

P.S. zip()函数是Python的内置函数,将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,Python3为了节约内存,zip()返回的是zip对象,需要手动转换成列表或字典

3. 通过 fromkeys 创建值为空的字典

a = ['name', 'age', 'grade']
b = ['fanxing', 29, 60]
print(dict(zip(a, b))) #{'name': 'fanxing', 'age': 29, 'grade': 60}, zip()里必须是两个列表
print(dict())
print({'name': "WangErGou", 'age': 22, 'grade': 90})
print(dict([('name', 'LiuDaLi'), ('age', 52)])) #dict()中传入以二元组为元素的列表
print(dict.fromkeys(['name', 'age', 'grade'])) #{'name': None, 'age': None, 'grade': None}

字典元素的访问

1. 通过 [键] 获得“值”。若键不存在,则抛出异常。

2. 通过 get()方法获得“值”,,优点是:指定键不存在,返回 None;也可以设定指定键不存在时默认返回的对象。推荐使用 get()获取“值对象”。

a = ['name', 'age', 'grade']
b = ['FanXing', 29, 60]
c = dict(zip(a, b))
print(c.get('sex'))
print(c.get('sex', "male"))

3. keys(),values(),items()返回指定集合

a = ['name', 'age', 'grade']
b = ['FanXing', 29, 60]
c = dict(zip(a, b))
print(c.items()) #dict_items([('name', 'FanXing'), ('age', 29), ('grade', 60)])
print(c.keys()) #dict_keys(['name', 'age', 'grade'])
print(c.values()) #dict_values(['FanXing', 29, 60])

4. 使用in检测一个键是否在字典中

a = ['name', 'age', 'grade']
b = ['FanXing', 29, 60]
c = dict(zip(a, b))
print('sex' in c) #False
print('name' in c) #True

 字典的序列解包

序列解包用于字典时,默认是对“键”进行操作; 如果需要对键值对操作,则需要使用
items();如果需要对“值”进行操作,则需要使用 values();

集合

集合是无序可变,元素不能重复。实际上,集合底层是字典实现,集合的所有元素都是字典
中的“键对象”,因此是不能重复的且唯一的。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值