首页 > 解决方案 > 给定嵌套字典时如何设置多个变量?(Python)

问题描述

我看到你可以这样写: score, name = (1500, 'Bill') 然后print(score)你得到1500等等。

我如何在这里做同样的事情? shop = {'melee': ('sword', 'axe', 'mace'), 'ranged':('bow', 'crossbow')}

我试过使用 {wpn_type: (wpn)} = shop

我希望能够写: wpn_type 和 get ('melee', 'ranged')wpn to get (('sword','axe','mace'),('bow','crossbow')) 或类似的东西。谢谢!

标签: pythondictionarynested

解决方案


尽管有这个名字,你也可以zip用来“解压缩”项目。

wpn_type, wpn = zip(*shop.items())

那是怎么工作的?

如果你一块一块地看这个:

>>> list(shop.items())
[('melee', ('sword', 'axe', 'mace')), ('ranged', ('bow', 'crossbow'))]

请注意,每个元组的第一个元素是您要收集的wpn_type内容,第二个元素是wpn.

您可以解压缩可迭代对象以将zip每个元组作为单独的参数提供。然后它返回一个序列,包括:

  1. 参数的第一个元素的元组
  2. 参数的第二个元素的元组。

瞧!


推荐阅读