Python 展平嵌套列表中的内部列表
我有每个子列表包含内部嵌套列表的子列表,我只想展平内部嵌套列表,所以它只是子列表的一部分 名单是这样的Python 展平嵌套列表中的内部列表,python,list,Python,List,我有每个子列表包含内部嵌套列表的子列表,我只想展平内部嵌套列表,所以它只是子列表的一部分 名单是这样的 A=[[[[a ,b], [e ,f]], [e, g]], [[[d, r], [d, g]], [l, m]], [[[g, d], [e, r]], [g, t]]] 我想展平显示在中每个子列表第一个位置的嵌套列表,以便输出如下所示 A= [[[a ,b], [e ,f], [e, g]], [[d, r], [d, g], [l, m]], [[g, d]
A=[[[[a ,b], [e ,f]], [e, g]],
[[[d, r], [d, g]], [l, m]],
[[[g, d], [e, r]], [g, t]]]
我想展平显示在中每个子列表第一个位置的嵌套列表,以便输出如下所示
A= [[[a ,b], [e ,f], [e, g]],
[[d, r], [d, g], [l, m]],
[[g, d], [e, r], [g, t]]]
我不确定使用什么代码来完成此操作,因此非常感谢您的帮助。您可以使用列表理解来展平第一个内部列表:
A[:] = [[*i, j] for i,j in A]
对于3.0以上的Python:
[i+[j] for i,j in A]
您可以使用列表理解来展平第一个内部列表:
A[:] = [[*i, j] for i,j in A]
对于3.0以上的Python:
[i+[j] for i,j in A]
试试这个:
B = [[*el[0], el[1]] for el in A]
print(B)
输出:
[[['a', 'b'], ['e', 'f'], ['e', 'g']],
[['d', 'r'], ['d', 'g'], ['l', 'm']],
[['g', 'd'], ['e', 'r'], ['g', 't']]]
或者,对于Python 2(星形*
操作符在这里的行为方式不同):
您可以尝试以下方法:
B = [[*el[0], el[1]] for el in A]
print(B)
输出:
[[['a', 'b'], ['e', 'f'], ['e', 'g']],
[['d', 'r'], ['d', 'g'], ['l', 'm']],
[['g', 'd'], ['e', 'r'], ['g', 't']]]
或者,对于Python 2(星形*
操作符在这里的行为方式不同):
你可以我认为这很简单:
[*map(lambda x: x[0] + [x[1]], A)]
我认为这很简单:
[*map(lambda x: x[0] + [x[1]], A)]
有点罗嗦,但有效:
import itertools
container = [list(itertools.chain(i[0] + [i[1]])) for i in A]
print(container)
结果:
[[['a', 'b'], ['e', 'f'], ['e', 'g']],
[['d', 'r'], ['d', 'g'], ['l', 'm']],
[['g', 'd'], ['e', 'r'], ['g', 't']]]
有点罗嗦,但有效:
import itertools
container = [list(itertools.chain(i[0] + [i[1]])) for i in A]
print(container)
结果:
[[['a', 'b'], ['e', 'f'], ['e', 'g']],
[['d', 'r'], ['d', 'g'], ['l', 'm']],
[['g', 'd'], ['e', 'r'], ['g', 't']]]
这回答了你的问题吗?我真的很喜欢你最近提出的问题,但是否可以将你的列表格式化为字符串?因为我们都必须手动完成。是的,很抱歉,下次我会记住的!这回答了你的问题吗?我真的很喜欢你最近提出的问题,但是否可以将你的列表格式化为字符串?因为我们都必须手动完成。是的,很抱歉,下次我会记住的!嘿,由于某种原因,我得到了一个无效的语法错误。我在Python2中工作也许这就是原因?更新了@asiv-是的,这就是原因嘿,所以出于某种原因,我得到了一个无效的语法错误。我在python 2中工作也许这就是原因?更新了@asiv-是的,这就是原因