Python对多个列表进行排序,然后首先打印相同的元素

Python对多个列表进行排序,然后首先打印相同的元素,python,python-3.x,Python,Python 3.x,我有三个列表,其中包含不同的元素,但是其中一些是相同的元素。这些相同的元素应该具有相同的顺序。这是我的密码: import itertools a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b = [0, 2, 4, 6, 8, 10, 12, 14] c = [0, 4, 8, 12, 16] for x, y, z in itertools.zip_longest(a, b, c): print(x, y, z) 进口

我有三个列表,其中包含不同的元素,但是其中一些是相同的元素。这些相同的元素应该具有相同的顺序。这是我的密码:

import itertools a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b = [0, 2, 4, 6, 8, 10, 12, 14] c = [0, 4, 8, 12, 16] for x, y, z in itertools.zip_longest(a, b, c): print(x, y, z) 进口itertools a=[0,1,2,3,4,5,6,7,8,9] b=[0,2,4,6,8,10,12,14] c=[0,4,8,12,16] 对于itertools.zip_中的x、y、z最长(a、b、c): 打印(x、y、z) 当我运行它时,打印出来如下:

0 0 0 1 2 4 2 4 8 3 6 12 4 8 16 5 10 None 6 12 None 7 14 None 8 None None 9 None None 0 0 0 1 2 4 2 4 8 3 6 12 4 8 16 5 10无 6.12无 7 14无 8无无 9无无 但我更喜欢他们变成这样:

0 0 0 4 4 4 8 8 8 None 12 12 2 2 None 6 6 None 1 10 16 3 14 None 5 None None 7 None None 9 None None 0 0 0 4 4 4 8 8 8 无12 12 2无 6无 1 10 16 3 14无 5无无 7无无 9无无
编辑:这些相同的元素应该在顶部,三个元素一起。如果3个元素中有2个相同,我希望它们如下所示:

None 12 12 无12 12 正如我在上面的例子中指出的。如果某些特定行上的元素不同,则无所谓,保持原样(参见示例:11016)。 综上所述,;我需要同样的3个元素,首先在特定的行上。另一个小小的理想例子:

a = [2, 1, 3, 5] b = [1, 2] c = [2, 3, 4] a=[2,1,3,5] b=[1,2] c=[2,3,4] 我们的小例子应该是:

2 2 2 3 None 3 1 1 None 5 None 4 2 2 2 3无3 1无 5无4 输出:

10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 4, 6, 8, 10, 12, 14, 0, 0]
[0, 4, 8, 12, 16, 0, 0, 0, 0, 0]
[(0, 0, 0), (4, 4, 4), (8, 8, 8), (None, 12, 12), (None, None, 16), (None, 10, None), (None, None, None), (None, 14, None), (None, None, None), (9, None, None)]

我一点也不了解你的样本输出。为什么中间一栏现在全是空的?15到哪里去了?很明显我在写它们的时候犯了一个错误。将第二个替换为第三个。如果问题有问题,请回答。你还没有解释15人去了哪里。如果你需要帮助,请更清楚地解释你的问题。我刚刚编辑了这个问题并试图简化它。谢谢你的关注@AlexHall
10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 4, 6, 8, 10, 12, 14, 0, 0]
[0, 4, 8, 12, 16, 0, 0, 0, 0, 0]
[(0, 0, 0), (4, 4, 4), (8, 8, 8), (None, 12, 12), (None, None, 16), (None, 10, None), (None, None, None), (None, 14, None), (None, None, None), (9, None, None)]