Mam kilka list posiadające wszystkie taką samą liczbę wpisów (każdy określające właściwość Object):Python: Wybierz podzbiór z listy na podstawie indeksu ustawić
property_a = [545., 656., 5.4, 33.]
property_b = [ 1.2, 1.3, 2.3, 0.3]
...
i listy z flagami tej samej długości
good_objects = [True, False, False, True]
(co może być łatwo podstawiona przez równoważną liście indeksów:
good_indices = [0, 3]
co jest najprostszym wag ay do generowania nowych list property_asel
, property_bsel
, ... które zawierają tylko wartości wskazane przez wpisy lub indeksy?
property_asel = [545., 33.]
property_bsel = [ 1.2, 0.3]
Czy użycie "zip" tutaj wprowadza karę za wydajność? – fuenfundachtzig
@fuen: Tak. Powoduje wiele na Pythonie 2 (zamiast tego użyj [itertools.izip] (http://docs.python.org/library/itertools.html#itertools.izip), nie tyle na Pythonie 3. Jest tak dlatego, że 'zip 'w Pythonie 2 utworzy nową listę, ale w Pythonie 3 po prostu zwróci (leniwy) generator. – kennytm
OK, więc powinienem trzymać się twojej drugiej propozycji, ponieważ to stanowi centralną część mojego kodu. – fuenfundachtzig