如何将列表列表变成点对?

How to turn a list of lists into pairs of points?

例如,如果我有:

a = [[[1, 1, 10], [148, 191, 203]], 
     [[133, 100], [19, 34]], 
     [[230, 200], [44, 68]]]

我想把“a”变成:

[(1,148), (1,191), (10,203), (133,19), (100,34), (230,44), (200,68)]

基本上在每个内部列表中,我都有一个 x 值列表和一个 y 值列表,我想将它们配对在一起。所以 a[0][0][0]a[0][1][0] 是一对。有没有一种简单的方法可以做到这一点?谢谢!

您可以使用 zip 将每对列表组合成一个元组列表:

a = [[[1, 1, 10], [148, 191, 203]], 
     [[133, 100], [19, 34]], 
     [[230, 200], [44, 68]]]

print([z for x, y in a for z in zip(x, y)])

输出:

[(1, 148), (1, 191), (10, 203), (133, 19), (100, 34), (230, 44), (200, 68)]