Ich habe eine Liste wie folgt aus:Filter out „umgekehrt“ duplizierte Tupel aus einer Liste in Python
[('192.168.1.100', '192.168.1.101', 'A'), ('192.168.1.101', '192.168.1.100', 'A'),
('192.168.1.103', '192.168.1.101', 'B'), ('192.168.1.104', '192.168.1.100', 'C')]
Und mit vielen weiteren ähnlichen Tupeln, hier die beiden ersten Punkte sind nur die IP-Adressen in die entgegengesetzte Auftrag.
Jetzt muss ich eine neue Liste erstellen, die auf der Kombination der ersten beiden IP-Adressen in jedem Tupel eindeutig ist.
Das ist, für meinen Zweck ('192.168.1.100', '192.168.1.101', 'A')
ist das gleiche wie ('192.168.1.101', '192.168.1.100', 'A')
, es ist egal, welche dieser 2 ich am Ende mit. Obwohl keiner von denen, wäre die gleich wie ('192.168.1.101', '192.168.1.100', 'B')
die Liste am Anfang gegeben, ich brauche eine neue Liste am Ende:
[('192.168.1.101', '192.168.1.100', 'A'), ('192.168.1.103', '192.168.1.101', 'B'),
('192.168.1.104', '192.168.1.100', 'A')]
Was ist ein eleganter Weg, dies in Python zu tun?
Siehe meinen Kommentar unter Abhijits Lösung. Ist es wichtig, wenn '('192.168.9.1', '192.168.1.1', 'B') in' ('192.168.1.1', '192.168.9.1', 'B') umgewandelt wird, auch wenn die zweite Form tritt in der Eingabe überhaupt nicht auf? –
Ich denke, Sie haben einen Tippfehler. '('192.168.1.104', '192.168.1.100', 'A')' sollte '('192.168.1.104', '192.168.1.100', 'C')' auf der vorletzten Zeile sein. –
@ Rafał Dowgird Nr. – user1255770