对此有一些疑问,但与此无关。我有两个单独的列表要压缩在一起。理解适用于普通列表,但不适用于列表列表。
X = [[17, 4]]
Y = [[32,-58]]
lst = [list(x) for x in zip(X, Y)]
出局:
[[[17, 4], [32, -58]]]
预期:
[[17, -32], [4, -58]]
答案 0 :(得分:3)
这应该做到:
lst = [list(x) for x in zip(*(X + Y))]
您要做的是,通过合并X
和Y
创建2D列表,然后使用zip(*(X+Y))
进行转置。
答案 1 :(得分:2)
您也可以尝试
[list(x) for x in zip(*X, *Y)]
Out[222]: [[17, 32], [4, -58]]