我正在尝试将嵌套的列表列表转换为Python 3.3中的元组列表。但是,似乎我没有这样做的逻辑。
输入如下所示:
>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]
所需的输出应完全如下:
nested_lst_of_tuples = [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
答案 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]