Potrzebuję dobrego wyjaśnienia (odniesienia są plusem) na notacji plastra Pythona. Dla mnie ta notacja wymaga nieco poprawienia. Wygląda niezwykle potężnie, ale nie do końca rozumiem.
Czy istnieje jakaś metoda isiterable? Jedynym rozwiązaniem, które do tej pory znalazłem, jest połączenie hasattr(myObj, '__iter__') Ale nie jestem pewien, czy jest to głupie.
Jaka jest najbardziej podstawowa definicja „iterowalnego”, „iteratora” i „iteracji” w Pythonie? Przeczytałem wiele definicji, ale nie jestem w stanie zidentyfikować dokładnego znaczenia, ponieważ nadal nie chce się ono zatracić. Czy ktoś może mi pomóc z 3 definicjami w kategoriach laika?
Mam interfejs, który zwraca java.lang.Iterable<T>. Chciałbym manipulować tym wynikiem przy użyciu interfejsu API Java 8 Stream. Jednak Iterable nie może „przesyłać strumieniowo”. Masz pomysł, jak używać Iterable jako strumienia bez konwertowania go na List?
Jeśli mam kolekcję, np. Collection<String> strsJak mogę uzyskać pierwszy przedmiot? Mógłbym po prostu zadzwonić Iterator, wziąć pierwszy next(), a potem wyrzucić Iterator. Czy istnieje mniej marnotrawny sposób?
W Javie 8 mamy klasę Stream <T> , która, co ciekawe, ma metodę Iterator<T> iterator() Można się więc spodziewać, że zaimplementuje interfejs Iterable <T> , który wymaga dokładnie tej metody, ale tak nie jest. Kiedy chcę iterować po strumieniu za pomocą pętli foreach, muszę zrobić coś takiego public static Iterable<T> …
Zastanawiam się, dlaczego Iterableinterfejs nie zapewnia metod stream()i parallelStream(). Rozważ następującą klasę: public class Hand implements Iterable<Card> { private final List<Card> list = new ArrayList<>(); private final int capacity; //... @Override public Iterator<Card> iterator() { return list.iterator(); } } Jest to realizacja ręku jak można mieć karty w ręku podczas …
Dlaczego Iteratorinterfejs się nie rozszerza Iterable? iterator()Metoda może po prostu wrócić this. Czy jest to celowe czy tylko nadzór nad projektantami Javy? Byłoby wygodnie móc użyć pętli dla każdego z iteratorami w następujący sposób: for(Object o : someContainer.listSomeObjects()) { .... } gdzie listSomeObjects()zwraca iterator.
Mam tablicę prymitywów, na przykład dla int, int [] foo. Może to być mały rozmiar lub nie. int foo[] = {1,2,3,4,5,6,7,8,9,0}; Jaki jest najlepszy sposób na stworzenie Iterable<Integer>z tego pliku ? Iterable<Integer> fooBar = convert(foo); Uwagi: Proszę nie odpowiadać za pomocą pętli (chyba że możesz dobrze wyjaśnić, w jaki sposób …
Załóżmy, że masz tablicę Iterable Javascript ES6, o której wiesz z góry, że będzie miała skończoną długość. Jaki jest najlepszy sposób, aby przekonwertować to na tablicę JavaScript? Powodem tego jest fakt, że wiele bibliotek js, takich jak podkreślenia i lodash, obsługuje tylko tablice, więc jeśli chcesz użyć którejkolwiek z ich …
Muszę obliczyć liczbę elementów Iterablew języku Java. Wiem, że potrafię to zrobić: Iterable values = ... it = values.iterator(); while (it.hasNext()) { it.next(); sum++; } Mógłbym też zrobić coś takiego, ponieważ nie potrzebuję już obiektów w Iterable: it = values.iterator(); while (it.hasNext()) { it.remove(); sum++; } Benchmark na małą skalę …
Oba te interfejsy definiują tylko jedną metodę public operator fun iterator(): Iterator<T> Dokumentacja mówi, Sequenceże ma być leniwy. Ale czy nie jest Iterableteż leniwy (chyba że jest poparty przez Collection)?
Dlaczego nie można używać obiektów w pętlach for of? A może to błąd przeglądarki? Ten kod nie działa w Chrome 42, mówiąc, że undefined nie jest funkcją: test = { first: "one"} for(var item of test) { console.log(item) }
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.