【发布时间】:2020-05-29 13:25:00
【问题描述】:
我有一个元组生成器,我想像这样使用它:
def pairs():
yield from [("key1", 2), ("key2", 4), ("key3", 6)]
keys, values = zip(*pairs())
像一个魅力一样工作,但现在pairs() 也可以不产生任何结果,从而产生相当于
keys, values = []
是否可以强制zip 的输出在一个不错的单个表达式中具有给定的维度?
我想要的是这样的:
>>> keys, values = magic_extender(zip(*pairs()), 2)
>>> keys, values
((), ())
【问题讨论】:
-
嗯,所有这些都是答案,但非常冗长和复杂。最优雅的方式是
keys, values = tuple(zip(*pairs())) or ((), ())- 我错过了什么吗?
标签: python python-3.x iterable-unpacking