Python Xrange vs. zakres

Python Xrange vs. zakres
TO PYTHON Wersja 2.x, w tym języku zastosowano dwie metody podstawowe do wygenerowania listy liczb całkowitych w dostarczonym zakresie. Dwie metody są wymienione poniżej:

zakres ()
xrange ()

Idąc naprzód, z najnowszą wersją Python (3 dalej), Range () został wycofany, a Xrange () został następnie zmieniony na Range (). Teraz w Python 3 jest tylko jedna funkcja dla tej metody, i.mi., zakres (). W Python 3 funkcja Range () to tylko inny sposób wdrożenia starszej wersji Xrange () Python 2.X. Tutaj opowiemy o tych dwóch.

Xrange ()

Xrange () służy do utworzenia sekwencji liczbowej, takiej jak funkcja Range ().

Składnia

Składnia używana do zdefiniowania xrange () to:

xrange (start, koniec, krok)

Funkcja służy do zdefiniowania zakresu liczb rozpoczynających się od (jest uwzględnionych) do końca (nie jest uwzględniony).

Parametry

Poniżej znajduje się lista wymaganych parametrów:

Start: Położenie początkowe sekwencji liczbowej
Koniec: Położenie końcowe sekwencji liczbowej
Krok: Rozróżnienie między dwiema kolejnymi liczbami z serii.

Przykłady

W poniższym przykładzie sprawdzimy sposoby zdefiniowania XRange.

Tutaj będziemy określać tylko pozycję końcową.

Tak więc wartość końcowa jest ustawiona jako 5, a następnie wydrukujemy pozycję końcową, jak pokazano poniżej:

Teraz zobaczymy metodę zakresu wywoływania, składnia do końca wywołania będzie:

>>> x = xrange (koniec)

Następnie wydrukujemy to.

Otrzymamy zakres wyjścia, jak pokazano powyżej.

Teraz zdefiniujemy zarówno punkty początkowe, jak i końcowe. Tutaj punkt początkowy to 2, a punkt końcowy to 5. Następnie wydrukowaliśmy pozycje początkowe i końcowe, jak pokazano poniżej:

Następnie będziemy tworzyć sekwencję liczb z naszych punktów początkowych i końcowych, ja.mi., 2 do 5.

>>> y = xrange (start, koniec)

Na koniec sprawdzimy metodę zdefiniowania punktu początkowego, kroku i punktu końcowego. Po zdefiniowaniu wszystkich trzech parametrów; Będziemy nazywać je podobnie do metody pokazanej poniżej:

Teraz, aby zadzwonić do XRange dla tych trzech parametrów, będziemy używać następującej składni:

>>> z = xrange (start, krok, koniec)

Zakres ()

Range () służy do utworzenia listy i jest szybszą funkcją dla wielu iteracji.

Składnia

Zastosowana jest następująca składnia:

>>> Zakres (start, koniec, krok)

Przykłady

W pierwszym przypadku będziemy definiować wartość końcową. Zastosowana do tego składnia to:

>>> Zakres (koniec)

Tak więc, w podanym poniżej przykładu, będziemy używać 3 jako wartości końcowej zakresu. Kiedy go wydrukujemy, zwraca wartości, z wyłączeniem wartości końcowej.

W kolejnym przykładzie używamy przykładu opisu punktu początkowego i końcowego. Wartość rozpocznie się od 1 i zakończenia od 10 (wykluczając ją). Punkt początkowy jest uwzględniony, ale punkt końcowy jest pominięty. Składnia jest podobna do podanej poniżej:

>>> Zakres (początek, koniec)

Tak więc definiujemy punkt początkowy, a następnie punkt końcowy, który wynosi odpowiednio 1 i 10.

Teraz, w kolejnym przykładzie, będziemy mieć funkcję krokową. Funkcja, która określa szczelinę między dowolnymi dwoma punktami w sekwencji. Wartość rozpocznie się od 0 i zakończy się od 10 (wykluczając ją). Zastosowana składnia podano poniżej:

>>> zakres (start, krok, koniec)

Przykład podano poniżej, gdzie 2 jest wartością krokową.

Zalety

zakres ()

Jest szybciej, jeśli iteracje mają być wykonywane wiele razy. Range () ma tylko wartości obiektów liczb całkowitych w czasie rzeczywistym. Jeśli chodzi o pamięć, nie działa dobrze.

xrange ()

Musi za każdym razem odtworzyć obiekt liczb całkowitych. XRANGE () nie jest, ponieważ nie obsługuje plasterków i wymieniać metody. xrange () wymaga tej samej ilości pamięci. Tak więc, jeśli chodzi o wydajność, zwłaszcza gdy użytkownicy iterują większą wartość zasięgu, Xrange () działa znacznie lepiej.

Podobieństwa między zakresem Python 2 i Python 3 i Xrange

Xrange Python 2 ma opisową reprezentację w postaci łańcucha, która jest bardzo podobna do wartości obiektu zakresu Python 3.

Wartość Xrange () w Pythonie 2 jest iteralna, podobnie jak Rang () w Python 3.

XRANGE () i Range () mają wartości kroku, końca i punktu początkowego. W obu przypadkach krok jest opcjonalnym polem, podobnie jak wartość rozpoczęcia.

Zarówno XRange of Python 2 i 3 Długość podparcia, które można indeksować w kolejności do przodu lub do tyłu. Oto przykład tego samego:

Odmienności między Range () i Xrange ()

Ponieważ Xrange () ocenia tylko obiekt generatora z wartościami potrzebnymi przez leniwą ocenę, wdrożenie w zakresie () jest szybsze w zakresie (). Range () pomaga zwrócić listę i ma wszystkie obiekty, które można użyć, podczas gdy xrange () zwraca obiekty powiązane z listą i nie można ich zastosować, abyśmy mogli ją policzyć jako wadę.

Zmienna stosowana w funkcji Range () przechowuje wartość zakresu, a zatem przyjmuje dużo pamięci w porównaniu z Xrange (), która przyjmuje tylko część pamięci z powodu zmiennych. Range () zwraca obiekt zasięgu, podczas gdy Xrange () zwraca obiekt generatora.

Funkcja zakresu (1, 7, 2) zwróci wyjście [1, 3, 5], a wejście Xrange (1, 7, 2) wytworzy wyjście [1, 3, 5]. W ten sposób możemy założyć, że są one podobne do wzoru.

Wniosek

Range () i Xrange () mają różne cechy, jak omówiono powyżej. Wszystkie porównania wymienione w tym samouczku, wraz z przykładami, będą pomocne, aby czytelnicy wybrać lepszą swoją preferowaną metodę w oparciu o ich wymagania.