首页 > 解决方案 > Python列表打印 - 任一列表中缺失值的顺序和空间

问题描述

假设我有以下两个列表:

foo = [A,B,C,D,Z,G]
bar = [A,C,D,E,F,G,X,H]

我想将它们打印如下:

|  A  |  A  |
|  B  |     |
|  C  |  C  |
|  D  |  D  |
|  z  |     |
|     |  E  |
|     |  F  |
|  G  |  G  |
|     |  x  |
|     |  H  |

我正在做一个非常复杂的if else,只是想知道你们是否有更简单的方法来做到这一点。TIA

标签: python-3.xlistlambda

解决方案


试试这个解决方案

foo = ["A","B","C","D","Z","G"]
bar = ["A","C","D","E","F","G","X","H"]
all_list = sorted(list(set(foo+bar)))
res = ""
for i in all_list:
    left = i if i in foo else " "
    right = i if i in bar else " "
    res += "|"+left+"|"+right +"|" + "\n"
print(res)

输出

|A|A|
|B| |
|C|C|
|D|D|
| |E|
| |F|
|G|G|
| |H|
| |X|
|Z| |

推荐阅读