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.
Lubię składnię ze zrozumieniem listy w języku Python. Czy można go również wykorzystać do tworzenia słowników? Na przykład, iterując pary kluczy i wartości: mydict = {(k,v) for (k,v) in blah blah blah} # doesn't work
Jak mogę wykonać następujące czynności w Pythonie? row = [unicode(x.strip()) for x in row if x is not None else ''] Głównie: zamień wszystkie Nones na puste ciągi, a następnie pełnić funkcję.
Czy istnieje powód, aby preferować używanie zamiast listowego rozumowania map()lub odwrotnie? Czy któryś z nich jest na ogół bardziej wydajny lub uważany za bardziej pytoniczny niż drugi?
Chcę stworzyć serię list o różnej długości. Każda lista będzie zawierać ten sam element e, powtarzane nrazy (gdzie n= długość listy). Jak utworzyć listy bez korzystania ze zrozumienia listy [e for number in xrange(n)]dla każdej listy?
Kiedy należy używać wyrażeń generatora, a kiedy używać wyrażeń list w Pythonie? # Generator expression (x*2 for x in range(256)) # List comprehension [x*2 for x in range(256)]
Czy w Pythonie można utworzyć słownikowe rozumienie (dla kluczy)? Bez zrozumienia listy możesz użyć czegoś takiego: l = [] for n in range(1, 11): l.append(n) Możemy skrócić to do listowego: l = [n for n in range(1, 11)]. Powiedzmy jednak, że chcę ustawić klucze słownika na tę samą wartość. Potrafię: …
Jak wszyscy wiemy, istnieje zrozumienie listy [i for i in [1, 2, 3, 4]] i istnieje zrozumienie słownika {i:j for i, j in {1: 'a', 2: 'b'}.items()} ale (i for i in (1, 2, 3)) skończy w generatorze, a nie w tuplezrozumieniu. Dlaczego? Domyślam się, że a tuplejest niezmienne, ale …
Mam listę o zmiennej długości i próbuję znaleźć sposób, aby sprawdzić, czy aktualnie oceniany element listy jest najdłuższym ciągiem zawartym na liście. I używam Python 2.6.1 Na przykład: mylist = ['abc','abcdef','abcd'] for each in mylist: if condition1: do_something() elif ___________________: #else if each is the longest string contained in mylist: …
W Pythonie możesz mieć wiele iteratorów ze zrozumieniem listy, takich jak [(x,y) for x in a for y in b] dla niektórych odpowiednich sekwencji a i b. Zdaję sobie sprawę z semantyki zagnieżdżonej pętli w zrozumieniu list Pythona. Moje pytanie brzmi: czy jeden iterator w rozumieniu może odnosić się do …
Posiadając iteratorobiekt, czy istnieje coś szybszego, lepszego lub bardziej poprawnego niż zrozumienie listy, aby uzyskać listę obiektów zwróconych przez iterator? user_list = [user for user in user_iterator]
Chodzi bardziej o składnię rozumienia list w Pythonie. Mam listę, która tworzy listę liczb nieparzystych z danego zakresu: [x for x in range(1, 10) if x % 2] To tworzy filtr - mam listę źródeł, z której usuwam liczby parzyste ( if x % 2). Chciałbym użyć tutaj czegoś takiego …
W jaki sposób uzyskujesz dostęp do innych zmiennych klasy z listy złożonej w definicji klasy? Poniższe działa w Pythonie 2, ale kończy się niepowodzeniem w Pythonie 3: class Foo: x = 5 y = [x for i in range(1)] Python 3.2 podaje błąd: NameError: global name 'x' is not defined …
Pod względem wydajności w Pythonie jest lista-zrozumienie, czy funkcje podoba map(), filter()i reduce()szybciej niż pętli for? Dlaczego, technicznie rzecz biorąc, działają z prędkością C , podczas gdy pętla for działa z prędkością maszyny wirtualnej Pythona ? Załóżmy, że w grze, którą tworzę, muszę narysować złożone i ogromne mapy, używając pętli. …
Próbuję utworzyć słownik z pliku CSV. Pierwsza kolumna pliku csv zawiera unikalne klucze, a druga kolumna zawiera wartości. Każdy wiersz pliku csv reprezentuje unikalną parę klucz-wartość w słowniku. Próbowałem użyć klas csv.DictReaderi csv.DictWriter, ale mogłem tylko dowiedzieć się, jak wygenerować nowy słownik dla każdego wiersza. Chcę jeden słownik. Oto kod, …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.