2009-08-03 26 views
3

Gibt es einen besseren Weg, dies in Python zu tun, oder vielmehr: Ist das ein guter Weg, es zu tun?Finden Sie einzigartige Elemente in Tupeln in einer Python-Liste

x = ('a', 'b', 'c') 
y = ('d', 'e', 'f') 
z = ('g', 'e', 'i') 

l = [x, y, z] 

s = set([e for (_, e, _) in l]) 

ich sehe etwas hässlich, aber das tut, was ich brauche, ohne ein komplexen "get_unique_elements_from_tuple_list" -Funktion schreiben ...;)

edit: Erwartungswert von s gesetzt ([ 'b', 'e' ])

+0

Können Sie erklären, was Sie wollen, indem Sie eine Definition anstelle eines Beispiels verwenden? – flybywire

Antwort

22

Das ist in Ordnung, das ist, was Sets sind. Eine Sache, die ich ändern würde, ist dies:

wie es die Lesbarkeit verbessert. Beachten Sie, dass ich das Listenverständnis auch in einen Generatorausdruck umgewandelt habe; keine Notwendigkeit, eine temporäre Liste zu erstellen.

Verwandte Themen