鱼C论坛

 找回密码
 立即注册
查看: 1473|回复: 0

[学习笔记] 字典-下

[复制链接]
发表于 2023-3-8 22:54:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> # 修改字典的值
>>> d = dict.fromkeys("FishC")
>>> d
{'F': None, 'i': None, 's': None, 'h': None, 'C': None}
>>> d['s'] = 15
>>> d
{'F': None, 'i': None, 's': 15, 'h': None, 'C': None}
>>> # 同时修改多个值,可以用字典的放大update()方法
>>> d.update({'i':105})
>>> d
{'F': None, 'i': 105, 's': 15, 'h': None, 'C': None}
>>> d.update(F='70', C='77')
>>> d
{'F': '70', 'i': 105, 's': 15, 'h': None, 'C': '77'}
>>> d['C']
'77'
>>> # 使用 get() 方法,它可以传入一个 default 参数,指定找不到键时返回的值:
>>> d
{'F': '70', 'i': 105, 's': 15, 'h': None, 'C': '77'}
>>> d.get('c', "找不到")
'找不到'
>>> # 查找一个键是否存在于字典中,如果在,返回它对应的值;如果不在,给它指定一个新的值:

>>> >>>
>>> d
{'F': '70', 'i': 105, 's': 15, 'h': None, 'C': '77'}
>>> d.setdefault('C', "code")
'77'
>>> d.setdefault('c', "code")
'code'

>>> # items()、keys() 和 values() 三个方法分别用于获取字典的键值对、键和值三者的视图对象
>>> # 视图对象就是字典的一个动态视图,这意味着当字典内容改变时,视图对象的内容也会相应地跟着改变。
>>> d
{'F': '70', 'i': 105, 's': 15, 'h': None, 'C': '77', 'c': 'code'}
>>> items = d.items()
>>> keys = d.keys()
>>> values = d.values()
>>> items
dict_items([('F', '70'), ('i', 105), ('s', 15), ('h', None), ('C', '77'), ('c', 'code')])
>>> keys
dict_keys(['F', 'i', 's', 'h', 'C', 'c'])
>>> values
dict_values(['70', 105, 15, None, '77', 'code'])
>>> d.pop('c')
'code'
>>> items
dict_items([('F', '70'), ('i', 105), ('s', 15), ('h', None), ('C', '77')])
>>> keys
dict_keys(['F', 'i', 's', 'h', 'C'])
>>> values
dict_values(['70', 105, 15, None, '77'])
>>> # 浅拷贝
>>> e = d.copy()
>>> e
{'F': '70', 'i': 105, 's': 15, 'h': None, 'C': '77'}
>>> len(d)
5
>>> 'C' in d
True
>>> 'c' not in d
True
>>> # 字典也可以转化为列表,使用 list() 函数就可以了:
>>> list(d)
['F', 'i', 's', 'h', 'C']
>>> # list(d) 得到的是字典中所有的 “键” 构成的列表,要得到所有的 “值”,应该使用 list(d.values()):
>>> list(d.values())
['70', 105, 15, None, '77']
>>> iter() 函数也可以作用于字典,它会将字典的键构成一个迭代器:
>>> e = iter(d)
>>> next(e, "没了")
'F'
>>> next(e, "没了")
'i'
>>> next(e, "没了")
's'
>>> next(e, "没了")
'h'
>>> next(e, "没了")
'C'
>>> next(e, "没了")
'没了'
>>> # 使用 reversed() 函数对字典内部的键值对进行逆向操作:
>>> list(reversed(d.values()))
['77', None, 15, 105, '70']
>>> # 字典也是可以嵌套的,某个键的值是另外一个字典
>>> d = {"吕布":{"语文":80, "数学":70, "英语":99}, "关羽":{"语文":99, "数学":80, "英语":88}}
>>> d["吕布"]["数学"]
70
>>> dd = {"吕布":[60,70,80], "关羽":[90,90,90]}
>>> dd["吕布"][2]
80

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
歌者文明清理员 + 2 + 2 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 02:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表