如何将列表中列表中的元组转换为列表?
How to make convert a tuple within a list within a list to a list?
我正在尝试将列表中的列表中的元组转换为列表。例如:
a = [[('a', 'b'), ('c', 'd')], [('e', 'f')]]
我需要
a = [[['a', 'b'], ['c', 'd']], [['e', 'f']]]
元组组的数量可以不同,但始终处于同一级别 - 列表中的元组,列表中的元组。
有很多关于将元组转换为列表的话题,但我发现的所有内容都在较少的列表中,例如 ('a', 'b') 或 [('a', 'b')] 或列表长度没有变化。
谢谢。
您可以使用两个嵌套的地图调用。
b = list(map(lambda nested: list(map(lambda nested2: list(nested2), nested)), a))
或列表理解:
b = [[list(j) for j in i] for i in a]
这会做你想做的事:
a = [[('a', 'b'), ('c', 'd')], [('e', 'f')]]
new_a = [ [ list(element) for element in elements] for elements in a]
为此,我建议您按如下所示进行 list comprehension
:
a = [[('a', 'b'), ('c', 'd')], [('e', 'f')]]
a = [[list(j) for j in i] for i in a]
print(a)
或者,如果您是初学者,您也可以使用 for loop
来达到此目的,如下所示:
a = [[('a', 'b'), ('c', 'd')], [('e', 'f')]]
for i in range(len(a)):
for j in range(len(a[i])):
a[i][j] = list(a[i][j])
print(a)
就我个人而言,我建议您使用 list comprehension
。
我正在尝试将列表中的列表中的元组转换为列表。例如:
a = [[('a', 'b'), ('c', 'd')], [('e', 'f')]]
我需要
a = [[['a', 'b'], ['c', 'd']], [['e', 'f']]]
元组组的数量可以不同,但始终处于同一级别 - 列表中的元组,列表中的元组。
有很多关于将元组转换为列表的话题,但我发现的所有内容都在较少的列表中,例如 ('a', 'b') 或 [('a', 'b')] 或列表长度没有变化。
谢谢。
您可以使用两个嵌套的地图调用。
b = list(map(lambda nested: list(map(lambda nested2: list(nested2), nested)), a))
或列表理解:
b = [[list(j) for j in i] for i in a]
这会做你想做的事:
a = [[('a', 'b'), ('c', 'd')], [('e', 'f')]]
new_a = [ [ list(element) for element in elements] for elements in a]
为此,我建议您按如下所示进行 list comprehension
:
a = [[('a', 'b'), ('c', 'd')], [('e', 'f')]]
a = [[list(j) for j in i] for i in a]
print(a)
或者,如果您是初学者,您也可以使用 for loop
来达到此目的,如下所示:
a = [[('a', 'b'), ('c', 'd')], [('e', 'f')]]
for i in range(len(a)):
for j in range(len(a[i])):
a[i][j] = list(a[i][j])
print(a)
就我个人而言,我建议您使用 list comprehension
。