首页 新闻 搜索 专区 学院

python 如何对字典中所有大于1的value减1

0
悬赏园豆:80 [待解决问题]

现在有这样一个字典:
{'A': 1, 'B': 1, 'C': 2, 'D': 1, 'E': 1, 'F': 1}
我想输出:
{'A': 1, 'B': 1, 'C': 1, 'D': 1, 'E': 1, 'F': 1}
也就是对大于一的value,减1,再输出新的字典
如果value是1的话就不用管。

例子:

input:

{'A': 3, 'B': 2, 'C': 5, 'D': 1, 'E': 4, 'F': 1}

output:

{'A': 2, 'B': 1, 'C': 4, 'D': 1, 'E': 3, 'F': 1}

ed3的主页 ed3 | 初学一级 | 园豆:24
提问于:2021-04-07 13:41
< >
分享
所有回答(4)
0
for key in obj
  if(obj[key]>1)
    obj[key] = obj[key]-1;
czd890 | 园豆:10421 (专家六级) | 2021-04-07 14:59
0

遍历字典并在便利的过程中将值减去1

魔露西 | 园豆:470 (菜鸟二级) | 2021-04-07 16:45
0
d = {'A': 1, 'B': 1, 'C': 1, 'D': 1, 'E': 1, 'F': 1}
result = {k: d[k]-1 if d[k] >1 else d[k] for k in d}
print(result)
ABeen | 园豆:244 (菜鸟二级) | 2021-04-13 09:58
0
a = {'A': 3, 'B': 2, 'C': 5, 'D': 1, 'E': 4, 'F': 1}
r = {k:v-1 if v > 1 else 1 for k,v in a.items()}
print(r)
{'A': 2, 'B': 1, 'C': 4, 'D': 1, 'E': 3, 'F': 1}
Jruing | 园豆:226 (菜鸟二级) | 2021-04-14 17:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册