Hallo Ich möchte zwei Listen, die unterschiedliche Längen haben, vergleichen und eine sortierte Tabelle mit Artikeln drucken, die in jeder Tabelle fehlen. Ich bin teilweise in der Lage, dies zu erreichen und die Werte zu drucken, die in list_2 fehlen. Aber ich kann die Werte, die in list_1 fehlen, auch nicht aus list_2, dem Buchstaben "z", drucken. Wie kann ich dies durchführen, um die gewünschte Ausgabe zu erhalten?Python Vergleich zweier Listen mit verschiedenen Längen
list_1 = ['a', 'b', 'c', 'd', 'e', 'f']
list_2 = ['b', 'c', 'f', 'z']
table_format = '{:<10} {:<10}'
print(table_format.format('list_1', 'list_2'))
print('-' * 20)
for x in list_1:
for y in list_2:
if x in y:
print(table_format.format(x, y))
break
else:
print(table_format.format(x,'Missing'))
Stromausgang:
list_1 list_2
--------------------
a Missing
b b
c c
d Missing
e Missing
f f
gewünschte Ausgabe:
list_1 list_2
--------------------
a Missing
b b
c c
d Missing
e Missing
f f
Missing z
Haben Sie darüber nachgedacht, mit [ 'Set'] (https://docs.python.org/3/tutorial/datastructures.html#sets)? Versuchen Sie 'set (list_2) - set (list_1)' –
Das liefert den fehlenden Wert, aber nicht sicher, wie ich diesen Teil der Tabelle während der for-Schleife machen würde. – MBasith