Trouver des éléments uniques dans des tuples dans une liste python
Question
Existe-t-il une meilleure façon de faire cela en python, ou plutôt: est-ce une bonne façon de le faire?
x = ('a', 'b', 'c')
y = ('d', 'e', 'f')
z = ('g', 'e', 'i')
l = [x, y, z]
s = set([e for (_, e, _) in l])
J'ai l'air un peu moche mais je fais ce dont j'ai besoin sans écrire un complexe "get_unique_elements_from_tuple_list". fonction ...;)
edit: la valeur attendue de s est définie (['b', 'e'])
La solution
C'est bien, c'est pour ça que les décors sont. Une chose que je voudrais changer est la suivante:
s = set(e[1] for e in l)
car il améliore la lisibilité. Notez que j'ai également transformé la compréhension de liste en une expression génératrice; pas besoin de créer une liste temporaire.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow