提问人:Mohammed 提问时间:9/22/2013 最后编辑:Martijn PietersMohammed 更新时间:5/6/2022 访问量:34396
如何在python 3.3中将嵌套列表转换为元组列表?
How to convert nested list of lists into a list of tuples in python 3.3?
问:
我正在尝试在 Python 3.3 中将嵌套列表列表转换为元组列表。但是,我似乎没有这样做的逻辑。
输入如下所示:
>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]
所需的输出应如下所示:
nested_lst_of_tuples = [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
答:
68赞
Martijn Pieters
9/22/2013
#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')]
评论
0赞
z33k
11/5/2021
如果每个项目的嵌套级别未知怎么办?好吧,皮特斯先生已经在这里回答了这个问题:)
7赞
Ajit George
9/22/2013
#2
[tuple(l) for l in nested_lst]
13赞
TerryA
9/22/2013
#3
你可以使用 map()
:
>>> list(map(tuple, [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]))
[('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
这等同于列表推导式,只不过返回生成器而不是列表。map
1赞
ranga abi
5/6/2022
#4
我使用列表推导作为解决方案,以下是我的风格
nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]
nested_new_list =[(i,j) for i,j in nested_lst]
print(nested_new_list)
output : [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
评论