python - 给定嵌套字典时如何设置多个变量?(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'))
或类似的东西。谢谢!
解决方案
尽管有这个名字,你也可以zip
用来“解压缩”项目。
wpn_type, wpn = zip(*shop.items())
那是怎么工作的?
如果你一块一块地看这个:
>>> list(shop.items())
[('melee', ('sword', 'axe', 'mace')), ('ranged', ('bow', 'crossbow'))]
请注意,每个元组的第一个元素是您要收集的wpn_type
内容,第二个元素是wpn
.
您可以解压缩可迭代对象以将zip
每个元组作为单独的参数提供。然后它返回一个序列,包括:
- 参数的第一个元素的元组
- 参数的第二个元素的元组。
瞧!