Pytania otagowane jako list-comprehension

Konstrukcja składniowa zapewniająca zwięzły sposób tworzenia list w stylu podobnym do matematycznej notacji konstruktora zestawów. Ponieważ kilka języków obsługuje wyrażenia listowe, należy używać tego tagu w połączeniu ze znacznikiem języka programowania.

7
Python używa funkcji enumerate wewnątrz list
Załóżmy, że mam taką listę: mylist = ["a","b","c","d"] Aby uzyskać wydrukowane wartości wraz z ich indeksem, mogę użyć enumeratefunkcji Pythona w ten sposób >>> for i,j in enumerate(mylist): ... print i,j ... 0 a 1 b 2 c 3 d >>> Teraz, kiedy próbuję użyć go wewnątrz a list comprehension, …

6
Jak radzić sobie z wyjątkami w składanych listach?
Mam trochę list składanych w Pythonie, w których każda iteracja może zgłosić wyjątek. Na przykład , jeśli mam: eggs = (1,3,0,3,2) [1/egg for egg in eggs] W ZeroDivisionErrortrzecim elemencie dostanę wyjątek. Jak mogę obsłużyć ten wyjątek i kontynuować przetwarzanie listy? Jedyny sposób, jaki przychodzi mi do głowy, to użycie funkcji …

6
Zrozumienie listy ponownie wiąże nazwy nawet po zakresie zrozumienia. Czy to jest poprawne?
Zrozumienia mają nieoczekiwane interakcje z określaniem zakresu. Czy to jest oczekiwane zachowanie? Mam metodę: def leave_room(self, uid): u = self.user_by_id(uid) r = self.rooms[u.rid] other_uids = [ouid for ouid in r.users_by_id.keys() if ouid != u.uid] other_us = [self.user_by_id(uid) for uid in other_uids] r.remove_user(uid) # OOPS! uid has been re-bound by the …

10
Pythonic sposób drukowania elementów listy
Chciałbym wiedzieć, czy istnieje lepszy sposób na wydrukowanie wszystkich obiektów na liście w Pythonie niż ten: myList = [Person("Foo"), Person("Bar")] print("\n".join(map(str, myList))) Foo Bar Czytam w ten sposób, nie jest to dobre: myList = [Person("Foo"), Person("Bar")] for p in myList: print(p) Czy nie ma czegoś takiego: print(p) for p in …

7
Czy Pythonic używa list składanych tylko do efektów ubocznych?
Pomyśl o funkcji, którą wywołuję ze względu na jej skutki uboczne, a nie zwracanie wartości (jak drukowanie na ekranie, aktualizacja GUI, drukowanie do pliku itp.). def fun_with_side_effects(x): ...side effects... return y Teraz, czy Pythonic ma używać wyrażeń listowych do wywoływania tej funkcji: [fun_with_side_effects(x) for x in y if (...conditions...)] Zauważ, …

5
Rozumienie listy z instrukcją if
Chcę porównać 2 iterowalne i wydrukować elementy, które pojawiają się w obu iterowalnych. >>> a = ('q', 'r') >>> b = ('q') # Iterate over a. If y not in b, print y. # I want to see ['r'] printed. >>> print([ y if y not in b for y …

2
Czy pętle for w pandach są naprawdę złe? Kiedy powinno mnie to obchodzić?
Czy forpętle są naprawdę „złe”? Jeśli nie, w jakiej sytuacji byłyby one lepsze niż stosowanie bardziej konwencjonalnego podejścia „wektoryzowanego”? 1 Jestem zaznajomiony z pojęciem „wektoryzacji” i jak pandy wykorzystują techniki wektoryzacji, aby przyspieszyć obliczenia. Funkcje wektoryzowane rozgłaszają operacje w całej serii lub ramce DataFrame, aby uzyskać znacznie większe przyspieszenia niż …



17
Rozumienie listy w Rubim
Aby zrobić odpowiednik list składanych w Pythonie, wykonuję następujące czynności: some_array.select{|x| x % 2 == 0 }.collect{|x| x * 3} Czy jest lepszy sposób na zrobienie tego ... może za pomocą jednego wywołania metody?



3
Co oznaczają znaki odwrotne dla interpretera Pythona: „num”
Bawię się ze zrozumieniem list i natknąłem się na ten mały fragment na innej stronie: return ''.join([`num` for num in xrange(loop_count)]) Spędziłem kilka minut próbując odtworzyć funkcję (wpisując), zanim zdałem sobie sprawę, że `num`bit ją psuje. Co robi umieszczenie oświadczenia w tych znakach? Z tego, co widzę, jest to odpowiednik …


7
Rozumienie listy bez [] w Pythonie
Dołączanie do listy: >>> ''.join([ str(_) for _ in xrange(10) ]) '0123456789' join musi mieć iterowalny plik. Najwyraźniej joinargumentem jest [ str(_) for _ in xrange(10) ]i jest to zrozumienie listy . Spójrz na to: >>>''.join( str(_) for _ in xrange(10) ) '0123456789' Otóż joinargumentem jest po prostu str(_) for …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.