我在 python 中有两个列表(list1 和 list2),其中填充了自己的数据类型。
我想将它们与列表进行比较,并将这些列表的所有元素提供给标准输出(或其他地方),但以特定的顺序(不以任何方式对列表进行排序)。
List1 和 List2 可以包含不在另一个列表中的元素,但也可以包含在另一个列表中的元素。这些元素同时存在于两个列表中,应该在同一行输出。但元素只在一个列表中,最后也应该按正确的顺序排列。
Example:
List1 = [A,B,C,D,F,H,G];
List2 = [A,C,D,E,H];
output should be:
List1 |List2
A A
B
C C
D D
E
F
H H
G
我怎样才能以这种方式“排序”?
import difflib, re
list_a = ['A', 'B', 'C', 'D', 'F', 'H', 'G']
list_b = ['A', 'C', 'D', 'E', 'H']
for i in difflib.Differ().compare(list_a, list_b):
differ_char, letter = re.match(r'([\s\-+]) ([A-Z])', i).groups()
choices = [' ' + letter, letter + ' ', letter + ' ' + letter]
print choices[['+', '-', ' '].index(differ_char)] # print lines
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)