现在,我有一个元组列表和下面的子列表:
my_list = [([1, 5], 10), ([2, 8], 12), ([4, 9], 11), ([8, 2], 10)]
但是,我想要下面的输出:
my_list = [[1, 5, 10], [2, 8, 12], [4, 9, 11], [8, 2, 10]]
我该如何转换它?请帮帮我谢谢大家!
tyu7yeag1#
使用列表解析可以得到如下所示的预期结果
>>> my_list = [([1, 5], 10), ([2, 8], 12), ([4, 9], 11), ([8, 2], 10)] >>> >>> result = [ [*a, b] for a, b in my_list] >>> result [[1, 5, 10], [2, 8, 12], [4, 9, 11], [8, 2, 10]] >>>
fhity93d2#
有一个预定义的方法将一个列表转换为一个元组,反之亦然,但是你的列表包含嵌入的列表,所以这个方法可以工作,你迭代列表,并使用扩展操作符向它附加一个新的列表 *
l=[([1, 5], 10), ([2, 8], 12), ([4, 9], 11), ([8, 2], 10)] newList=[] for i in l: newList.append([*i[0],i[1]]) print(newList)
yrefmtwq3#
你也可以使用这个方法:
new_list = list(map(lambda i : [*i[0],i[1]], my_list))
suzh9iv84#
就像@sahasrara62建议的那样,你可以简单地使用列表解析
result = [[*a, b] for a, b in my_list]
我发现有时候比较实用的是像那样将嵌套列表Map到不同的项
result = [[a,b,c] for (a, b), c in my_list]
使用这种模式,您可以自由地混合元素的顺序,甚至只使用第一种方法不可能使用的项目的子集。看
# mix the order result = [[b, c, a] for (a, b), c in my_list] # or omit b for instance result = [c, a] for (a, b), c in my_list
4条答案
按热度按时间tyu7yeag1#
使用列表解析可以得到如下所示的预期结果
fhity93d2#
有一个预定义的方法将一个列表转换为一个元组,反之亦然,但是你的列表包含嵌入的列表,所以这个方法可以工作,你迭代列表,并使用扩展操作符向它附加一个新的列表 *
yrefmtwq3#
你也可以使用这个方法:
suzh9iv84#
就像@sahasrara62建议的那样,你可以简单地使用列表解析
我发现有时候比较实用的是像那样将嵌套列表Map到不同的项
使用这种模式,您可以自由地混合元素的顺序,甚至只使用第一种方法不可能使用的项目的子集。看