我正在尝试将嵌套的列表列表转换为 Python 3.3 中的元组列表。但是,似乎我没有这样做的逻辑。
输入如下所示:
>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]
所需的输出应如下所示:
nested_lst_of_tuples = [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
我正在尝试将嵌套的列表列表转换为 Python 3.3 中的元组列表。但是,似乎我没有这样做的逻辑。
输入如下所示:
>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]
所需的输出应如下所示:
nested_lst_of_tuples = [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
只需使用列表理解:
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')]
您可以使用map()
:
>>> list(map(tuple, [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]))
[('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
这等效于列表推导,除了map
返回生成器而不是列表。
[tuple(l) for l in nested_lst]