Iterator jest zorientowanym obiektowo wzorcem programowania, który umożliwia przechodzenie przez kolekcję, niezależnie od rzeczywistej implementacji lub adresów obiektów w pamięci fizycznej. Jest to jeden z wzorców projektowania behawioralnego Gang of Four.
Jaki jest najlepszy sposób na uzyskanie ostatniego elementu z iteratora w Pythonie 2.6? Na przykład powiedz my_iter = iter(range(5)) Jaka jest najkrótsza-code / najczystszym sposobem na uzyskanie 4od my_iter? Mógłbym to zrobić, ale nie wydaje się to zbyt wydajne: [x for x in my_iter][-1]
Celem jest uzyskanie dostępu do „n-tego” elementu wektora łańcuchów zamiast operatora [] lub metody „at”. Z tego, co rozumiem, iteratory mogą być używane do poruszania się po kontenerach, ale nigdy wcześniej nie korzystałem z iteratorów, a to, co czytam, jest mylące. Byłbym wdzięczny, gdyby ktoś mógł mi udzielić informacji, jak …
Często napotykam kod podobny do następującego: if ( items != null) { foreach(T item in items) { //... } } Zasadniczo ifwarunek zapewnia, że foreachblok zostanie wykonany tylko wtedy, gdy itemsnie jest pusty. Zastanawiam się, czy ifstan jest naprawdę potrzebny, czy poradzę foreachsobie w przypadku items == null. To znaczy, …
Jeśli mam listę zawierającą [alice, bob, abigail, charlie]i chcę napisać iterator tak, aby iterował po elementach zaczynających się od „a”, czy mogę napisać własny? Jak mogę to zrobić ?
W tej chwili mam program zawierający fragment kodu, który wygląda następująco: while (arrayList.iterator().hasNext()) { //value is equal to a String value if( arrayList.iterator().next().equals(value)) { // do something } } Czy robię to dobrze, jeśli chodzi o iterację przez ArrayList? Pojawia się błąd: java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.ArrayList.get(Unknown Source) at main1.endElement(main1.java:244) at …
s = [1,2,3,4,5,6,7,8,9] n = 3 zip(*[iter(s)]*n) # returns [(1,2,3),(4,5,6),(7,8,9)] Jak to zip(*[iter(s)]*n)działa? Jak by to wyglądało, gdyby zostało napisane z bardziej szczegółowym kodem?
Obecnie robię to: try: something = iterator.next() # ... except StopIteration: # ... Ale chciałbym wyrażenia, które mogę umieścić w prostym ifstwierdzeniu. Czy jest coś wbudowanego, co sprawiłoby, że ten kod wyglądałby mniej niezgrabnie? any()zwraca, Falsejeśli element iterowalny jest pusty, ale potencjalnie będzie iterował po wszystkich elementach, jeśli tak nie …
Czy można iterować wektor od końca do początku? for (vector<my_class>::iterator i = my_vector.end(); i != my_vector.begin(); /* ?! */ ) { } Czy jest to możliwe tylko w przypadku czegoś takiego: for (int i = my_vector.size() - 1; i >= 0; --i) { }
Muszę powtarzać listę cykliczną, możliwie wiele razy, za każdym razem zaczynając od ostatnio odwiedzanego elementu. Przypadek użycia to pula połączeń. Klient prosi o połączenie, iterator sprawdza, czy wskazane połączenie jest dostępne i zwraca je, w przeciwnym razie wykonuje pętlę, dopóki nie znajdzie takiego, które jest dostępne. Czy jest na to …
Powiedzmy, że mam następującą ramkę danych: Jaki jest najbardziej efektywny sposób aktualizowania wartości kolumn feat i another_feat, gdzie strumień ma numer 2 ? Czy to jest to? for index, row in df.iterrows(): if df1.loc[index,'stream'] == 2: # do something AKTUALIZACJA: Co zrobić, jeśli mam więcej niż 100 kolumn? Nie chcę …
Czy istnieje „obliczeniowy” szybki sposób uzyskania liczby iteratora? int i = 0; for ( ; some_iterator.hasNext() ; ++i ) some_iterator.next(); ... wygląda na stratę cykli procesora.
Istnieje wiele przykładów odczytu danych CSV za pomocą Pythona, takich jak ten: import csv with open('some.csv', newline='') as f: reader = csv.reader(f) for row in reader: print(row) Chcę tylko przeczytać jedną linię danych i wprowadzić ją do różnych zmiennych. Jak mogę to zrobić? Szukałem wszędzie działającego przykładu. Mój kod pobiera …
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.