如何在 python 中增加元组内部?

新手上路,请多包涵

假设我有以下形式的元组

[(('d',0),('g',0)),(('d',0),('d',1)),(('i',0),('g',0))]

那么我如何增加元组内的数字,它们的形式是: -

[(('d',1),('g',1)),(('d',1),('d',2)),(('i',1),('g',1))]

我可以在单个 for 循环中完成此操作。但我正在寻找更短的方法。

PS 您可以创建新的元组

原文由 Palash Ahuja 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 341
2 个回答

列表理解可以解决问题:

 >>> t = [(('d',0),('g',0)),(('d',0),('d',1)),(('i',0),('g',0))]

>>> print([tuple((a, b+1) for a, b in group) for group in t])

   [[('d', 1), ('g', 1)], [('d', 1), ('d', 2)], [('i', 1), ('g', 1)]]

原文由 David Greydanus 发布,翻译遵循 CC BY-SA 4.0 许可协议

您不能更改元组中的值,元组是不可变的。您需要将它们设为列表或使用您想要的值创建一个新元组并存储它。

原文由 Eric Renouf 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题