|
发表于 2023-2-25 12:07:48
|
显示全部楼层
查
通过键查找对应的值
>>> d['C']
67
get()方法,传入一个 default 参数,指定找不到键时返回的值
>>> d.get('c', "这里没有c")
'这里没有c'
setdefault 查找存在的键,如果不存在就新建一个键和值
>>> d.setdefault('C', "code")
67
>>> d
{'F': 70, 'i': 105, 's': 115, 'h': 104, 'C': 67}
>>> d.setdefault('c', "code")
'code'
>>> d
{'F': 70, 'i': 105, 's': 115, 'h': 104, 'C': 67, 'c': 'code'}
视图对象
items() 查找键值对
items = d.items()
items
dict_items([('F', 70), ('i', 105), ('s', 115), ('h', 104), ('C', 67), ('c', 'code')])
keys() 查找键
keys = d.keys()
keys
dict_keys(['F', 'i', 's', 'h', 'C', 'c'])
values() 查找值
values = d.values()
values
dict_values([70, 105, 115, 104, 67, 'code'])
对字典可以做的事情
len() 函数来获取字典的键值对数量
>>> len(d)
5
使用 in 和 not in 来判断某个键是否存在于字典中:
>>> 'C' in d
True
>>> 'c' not in d
True
list 转换列表
>>> list(d)
['F', 'i', 's', 'h', 'C']
>>> list(d.values())
[70, 105, 115, 104, 67]
iter() 函数 将字典的键构成一个迭代器
>>> e = iter(d)
>>> next(e)
'F'
>>> next(e)
'i'
>>> next(e)
's'
>>> next(e)
'h'
>>> next(e)
'C'
>>> next(e)
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
next(e)
StopIteration
reversed() 函数对字典内部的键值对进行逆向操作
>>> list(reversed(d))
['C', 'h', 's', 'i', 'F']
>>> list(reversed(d.values()))
[67, 104, 115, 105, 70]
嵌套
写法
>>> d = {"吕布": {"语文":60, "数学":70, "英语":80}, "关羽": {"语文":80, "数学":90, "英语":70}}
获取嵌套索引
>>> d["吕布"]["数学"]
70
嵌套里的也可能是列表的索引
>>> d = {"吕布": [60, 70, 80], "关羽": [80, 90, 70]}
第二次索引,我们当然也得换成下标索引:
>>> d["吕布"][1]
70
字典推导式
写法
>>> d = {'F':70, 'i':105, 's':115, 'h':104, 'C':67}
>>> b = {v:k for k,v in d.items()}
>>> b
{70: 'F', 105: 'i', 115: 's', 104: 'h', 67: 'C'}
>>> d
{'F': 70, 'i': 105, 's': 115, 'h': 104, 'C': 67}
筛选条件
>>> c = {v:k for k,v in d.items() if v > 100}
>>> c
{105: 'i', 115: 's', 104: 'h'}
字符串的编码值
>>> d = {x:ord(x) for x in "FishC"}
>>> d
{'F': 70, 'i': 105, 's': 115, 'h': 104, 'C': 67}
|
|