如何解压缩可能为空的'zip'的结果?

2024-05-14 12:36:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个元组生成器,我想这样使用:

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
((), ())

Tags: from表达式defmagickeyszip元组values
1条回答
网友
1楼 · 发布于 2024-05-14 12:36:00

我的Python版本(3.7)

我建议,如果您使用键和值,您应该使用字典的
然后解决办法就不难了

解决方案

def pairs():
    """
    documentation of the function.

    Returns
       -
        dict
            The function returns dictionary...
    """
    yield {"key1": 2, "key2": 4, "key3": 6}


def main():
    pair = dict(next(pairs()))
    keys, values = list(pair.keys()), list(pair.values())
    print(keys, values)


if __name__ == '__main__':
    main()

在该解决方案中,输出为:

['key1', 'key2', 'key3'] [2, 4, 6]

如果字典为空,则输出为:

[] []

相关问题 更多 >

    热门问题