Python-转置/解压缩功能(zip的反函数)?

发布于 2021-02-02 23:22:58

我有一个2项元组的列表,我想将它们转换为2个列表,其中第一个包含每个元组中的第一项,第二个包含第二项。

例如:

original = [('a', 1), ('b', 2), ('c', 3), ('d', 4)]
# and I want to become...
result = (['a', 'b', 'c', 'd'], [1, 2, 3, 4])

有内置的功能吗?

关注者
0
被浏览
117
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    zip是它自己的逆!前提是你使用特殊的*运算符。

    >>> zip(*[('a', 1), ('b', 2), ('c', 3), ('d', 4)])
    [('a', 'b', 'c', 'd'), (1, 2, 3, 4)]
    
    

    它的工作方式是通过调用zip参数:

    zip(('a', 1), ('b', 2), ('c', 3), ('d', 4))
    

    …除了参数zip直接传递(转换为元组后)外,因此不必担心参数数量太大。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看