gpt4 book ai didi

python - 使用字典理解修改字典而不创建新字典

转载 作者:行者123 更新时间:2023-12-01 22:24:26 29 4
gpt4 key购买 nike

我有以下字典:

d = {'lnsd-02': 'manager', 'lnsd-03': 'manager', 'lnsd-01': 'quorum', 'lnsd-04': 'manager', 'lnsd-05': 'manager'}

我正在尝试对类似的列表推导行进行字典推导。

for i in d:
if i[-2:] in ('02', '05'):
d[i]='quorum-manager'

如何在不创建新字典的情况下将字典理解应用于上述代码并更改某些键的值?像下面的东西

d[i] = {i: 'quorum-manager' for i in d if i[-2:] in ('02', '05')}

最后,我需要将值更改为的原始字典

d = {'lnsd-02': 'quorum-manager', 'lnsd-03': 'manager', 'lnsd-01': 'quorum', 'lnsd-04': 'manager', 'lnsd-05': 'quorum-manager'}

最佳答案

使用 dict.update方法:

d.update({i: 'quorum-manager' for i in d if i[-2:] in ('02', '05')})

comprehension 将创建一个新词典,但该词典将仅用于更新内容您的原始词典d


鉴于您的原始数据:

>>> d = {'lnsd-02': 'manager', 'lnsd-03': 'manager', 
'lnsd-01': 'quorum', 'lnsd-04': 'manager', 'lnsd-05': 'manager'}

并申请

>>> d.update({i: 'quorum-manager' for i in d if i[-2:] in ('02', '05')})

结果是

{'lnsd-04': 'manager', 'lnsd-03': 'manager', 'lnsd-01': 'quorum', 
'lnsd-05': 'quorum-manager', 'lnsd-02': 'quorum-manager'}

符合你想要的结果

关于python - 使用字典理解修改字典而不创建新字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37115289/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com