【问题标题】:How to convert nested list of lists into a list of tuples in python 3.3?如何将嵌套列表列表转换为 python 3.3 中的元组列表?
【发布时间】:2013-09-27 02:40:15
【问题描述】:

我正在尝试将嵌套的列表列表转换为 Python 3.3 中的元组列表。但是,似乎我没有这样做的逻辑。

输入如下:

>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]

所需的输出应如下所示:

nested_lst_of_tuples = [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]

【问题讨论】:

    标签: python list tuples nested-lists type-conversion


    【解决方案1】:

    只需使用列表推导:

    nested_lst_of_tuples = [tuple(l) for l in nested_lst]
    

    演示:

    >>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]
    >>> [tuple(l) for l in nested_lst]
    [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
    

    【讨论】:

    • 如果每个项目的嵌套级别未知怎么办?好吧,Pieters 先生已经回答了这个问题here :)
    【解决方案2】:

    你可以使用map():

    >>> list(map(tuple, [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]))
    [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
    

    这等效于列表推导式,只是 map 返回的是生成器而不是列表。

    【讨论】:

      【解决方案3】:
      [tuple(l) for l in nested_lst]
      

      【讨论】:

        猜你喜欢
        • 2017-09-11
        • 2021-04-26
        • 1970-01-01
        • 1970-01-01
        • 2010-12-23
        • 1970-01-01
        • 2012-09-06
        • 1970-01-01
        相关资源
        最近更新 更多