You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何批量修改含元组键的字典值(单行实现)

解决字典值取反的单行语句问题

你之前的代码出错,是因为字典推导式里只遍历了字典的键(x),而不是键值对。当你写-x时,实际上是在对元组类型的键取反,这自然会触发TypeError: bad operand type for unary -: 'tuple'的错误。

要实现所有值取反的需求,你需要同时获取键和对应的值,正确的单行写法如下:

original_dict = {(0,0): 1, (2, 4): 2}
new_dict = {key: -value for key, value in original_dict.items()}

执行这段代码后,new_dict就会得到你期望的结果:{(0,0): -1, (2, 4): -2}。

简单说明:

  • original_dict.items()会返回字典中所有的键值对(比如((0,0), 1)、((2,4), 2))
  • 在推导式里我们把每个键值对解构为key和value,只对value执行取反操作,再和原key组合成新的键值对

内容的提问来源于stack exchange,提问作者kel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:34:30