Muszę dołączyć elementy do listy tylko wtedy, gdy bieżący iterowany element nie znajduje się jeszcze na liście.Czy rozumienie list jest tutaj odpowiednie?
>>> l = [1, 2]
>>> for x in (2, 3, 4):
... if x not in l:
... l.append(x)
...
>>> l
[1, 2, 3, 4]
vs
>>> l = [1, 2]
>>> [l.append(i) for i in (2, 3, 4) if i not in l]
[None, None]
>>> l
[1, 2, 3, 4]
Lista rozumienie daje wynik jest to, co chcę, tylko wrócił lista jest bezużyteczne. Czy jest to dobry przypadek do zrozumienia list?
Ta iteracja to dobre rozwiązanie, ale zastanawiam się, czy istnieje bardziej idiomatyczny sposób na zrobienie tego?
Z jakiegoś powodu nie mogę ponownie edytować mojego pytania. Zapomniałem powiedzieć, że zależy mi na porządku elementów. – Paolo
W codziennym użyciu będę musiał pośredniczyć między proponowanymi rozwiązaniami. Gerrat's jest kompaktowy, TokenMacGuy jest wyraźny i szybki, podczas gdy Tyz umieszcza się w środku, jest zwarty i szybki, choć mniej bezpośredni. DZIĘKI za wspaniałe odpowiedzi. Sprawdziłem odpowiedź Gerrata, ponieważ jest bliższa mojej pierwotnej intencji. – Paolo