如何将嵌套的列表列表转换为python 3.3中的元组列表?

时间:2013-09-21 22:21:53

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

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

输入如下所示:

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

所需的输出应完全如下:

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

3 个答案:

答案 0 :(得分:30)

只需使用列表理解:

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')]

答案 1 :(得分:7)

您可以使用map()

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

这相当于列表推导,除了map返回生成器而不是列表。

答案 2 :(得分:3)

[tuple(l) for l in nested_lst]