Python xrange εναντίον εύρους

Python Xrange Vs Range



Μέχρι την έκδοση 2.x της Python, υπήρχαν συνολικά δύο βασικές μέθοδοι που χρησιμοποιήθηκαν σε αυτήν τη γλώσσα για τη δημιουργία της λίστας των ακεραίων εντός ενός παρεχόμενου εύρους. Οι δύο μέθοδοι παρατίθενται παρακάτω:

εύρος ()
xrange ()







Προχωρώντας, με την τελευταία έκδοση του Python (3 και μετά), το εύρος () αποσύρθηκε και το xrange () στη συνέχεια άλλαξε σε εύρος (). Τώρα στην Python 3, υπάρχει μόνο μία συνάρτηση για αυτήν τη μέθοδο, δηλαδή εύρος (). Στην Python 3, η λειτουργία range () είναι απλώς ένας άλλος τρόπος εφαρμογής της παλαιότερης έκδοσης του xrange () του python 2.x. Εδώ, θα συσχετίσουμε τα δύο.



Xrange ()

Το xrange () χρησιμοποιείται για τη δημιουργία μιας ακολουθίας αριθμών όπως η συνάρτηση εύρους ().



Σύνταξη

Η σύνταξη που χρησιμοποιείται για τον ορισμό του xrange () είναι:





πορτοκαλί(αρχή,τέλος,βήμα)

Η συνάρτηση χρησιμοποιείται για τον καθορισμό του εύρους των αριθμών που ξεκινούν από (περιλαμβάνεται) έως το τέλος (δεν περιλαμβάνεται).

Παράμετροι

Ακολουθεί η λίστα των απαιτούμενων παραμέτρων:



& emsp; Έναρξη: Αρχική θέση της ακολουθίας αριθμών
& emsp; Τέλος: Τελική θέση της αριθμητικής ακολουθίας
& emsp; Βήμα: Η διάκριση μεταξύ δύο διαδοχικών αριθμών στη σειρά.

Παραδείγματα

Στο ακόλουθο παράδειγμα, θα ελέγξουμε τους τρόπους ορισμού του xrange.

Εδώ, θα καθορίσουμε μόνο την τελική θέση.

Έτσι, η τελική τιμή ορίζεται ως 5 και, στη συνέχεια, εκτυπώνεται η τελική θέση, όπως φαίνεται παρακάτω:

Τώρα, θα δούμε τη μέθοδο του εύρους κλήσεων, η σύνταξη στο τέλος κλήσης θα είναι:

>>>Χ= πορτοκαλί(τέλος)

Στη συνέχεια θα το τυπώσουμε.

Θα λάβουμε το εύρος στην έξοδο, όπως φαίνεται παραπάνω.

Τώρα, θα ορίσουμε τόσο το αρχικό όσο και το τελικό σημείο. Εδώ, το σημείο εκκίνησης είναι 2 και το τελικό σημείο 5. Τότε εκτυπώσαμε τις θέσεις έναρξης και λήξης, όπως φαίνεται παρακάτω:

Μετά από αυτό, θα δημιουργήσουμε μια ακολουθία αριθμών από τα σημεία έναρξης και λήξης, δηλαδή 2 έως 5.

>>>και= πορτοκαλί(αρχή,τέλος)

Τέλος, θα ελέγξουμε τη μέθοδο καθορισμού του σημείου εκκίνησης, του βήματος και του τελικού σημείου. Αφού ορίσουμε και τις τρεις παραμέτρους. θα τα ονομάσουμε παρόμοια με τη μέθοδο που φαίνεται παρακάτω:

Τώρα, για να καλέσουμε το xrange για αυτές τις τρεις παραμέτρους, θα χρησιμοποιήσουμε την ακόλουθη σύνταξη:

>>>Με= πορτοκαλί(αρχή,βήμα,τέλος)

Εύρος ()

Το εύρος () χρησιμοποιείται για τη δημιουργία μιας λίστας και είναι μια ταχύτερη συνάρτηση για πολλαπλές επαναλήψεις.

Σύνταξη

Χρησιμοποιείται η ακόλουθη σύνταξη:

>>> εύρος(αρχή,τέλος,βήμα)

Παραδείγματα

Για την πρώτη περίπτωση, θα ορίσουμε την τελική τιμή. Η σύνταξη που χρησιμοποιείται για αυτό είναι:

>>> εύρος(τέλος)

Έτσι, στο παράδειγμα που δίνεται παρακάτω, θα χρησιμοποιήσουμε το 3 ως τελική τιμή της περιοχής. Όταν το τυπώσουμε, επιστρέφει τις τιμές, εξαιρουμένης της τελικής τιμής.

Στο επόμενο παράδειγμα, χρησιμοποιούμε το παράδειγμα της περιγραφής του σημείου έναρξης και λήξης. Η τιμή θα ξεκινήσει από το 1 και θα λήξει στο 10 (εξαιρώντας το). Το σημείο εκκίνησης περιλαμβάνεται, αλλά το τελικό σημείο παραλείπεται. Η σύνταξη είναι παρόμοια με αυτήν που δίνεται παρακάτω:

>>> εύρος (αρχή,τέλος)

Έτσι, ορίζουμε το σημείο εκκίνησης και μετά το τελικό σημείο, το οποίο είναι 1 και 10, αντίστοιχα.

Τώρα, στο επόμενο παράδειγμα, θα έχουμε τη συνάρτηση βήμα. Η συνάρτηση που ορίζει το κενό μεταξύ των δύο σημείων της ακολουθίας. Η τιμή θα ξεκινήσει από το 0 και θα λήξει στο 10 (εξαιρώντας το). Η σύνταξη που χρησιμοποιείται δίνεται παρακάτω:

>>> εύρος (αρχή,βήμα,τέλος)

Το παράδειγμα δίνεται παρακάτω, όπου 2 είναι η τιμή βημάτων.

Πλεονεκτήματα

εύρος ()

Είναι ταχύτερο εάν οι επαναλήψεις πρόκειται να γίνουν πολλές φορές. εύρος () έχει μόνο τις τιμές ακέραιου αντικειμένου σε πραγματικό χρόνο. Όσον αφορά τη μνήμη, δεν εκτελείται καλά.

xrange ()

Πρέπει να αναδημιουργεί το ακέραιο αντικείμενο κάθε φορά. Το xrange () δεν είναι επειδή δεν υποστηρίζει φέτες και μεθόδους λίστας. Το xrange () παίρνει την ίδια ποσότητα μνήμης. Έτσι, όσον αφορά την απόδοση, ειδικά όταν οι χρήστες επαναλαμβάνουν μια τιμή μεγαλύτερου εύρους, το xrange () αποδίδει πολύ καλύτερα.

Ομοιότητες μεταξύ Python 2 και Python 3 εύρους και xrange

Το xrange της Python 2 έχει μια περιγραφική αναπαράσταση με τη μορφή της συμβολοσειράς, η οποία είναι πολύ παρόμοια με την τιμή αντικειμένου εύρους της Python 3.

Η τιμή του xrange () στην Python 2 είναι επαναλήψιμη, έτσι χτυπά και () στην Python 3.

xrange () και εύρος () έχουν και τα δύο βήματα, τέλος και τιμές αφετηρίας. Και στις δύο περιπτώσεις, το βήμα είναι ένα προαιρετικό πεδίο, το ίδιο και η τιμή έναρξης.

Τόσο το xrange του Python 2 όσο και το 3 υποστηρίζουν μήκος που μπορούν να ευρετηριαστούν σε εμπρός ή αντίστροφη σειρά. Εδώ είναι ένα παράδειγμα του ίδιου:

Ομοιότητες μεταξύ εύρους () και xrange ()

Δεδομένου ότι το xrange () αξιολογεί μόνο το αντικείμενο της γεννήτριας με τις τιμές που απαιτούνται από την τεμπέλικη αξιολόγηση, είναι πιο γρήγορο να εφαρμοστεί σε όλο το εύρος (). εύρος () βοηθά στην επιστροφή της λίστας και έχει όλα τα αντικείμενα που μπορούν να χρησιμοποιηθούν, ενώ το xrange () επιστρέφει τα αντικείμενα που σχετίζονται με μια λίστα και δεν μπορεί να εφαρμοστεί σε αυτά, ώστε να μπορούμε να την υπολογίσουμε ως μειονέκτημα.

Η μεταβλητή που χρησιμοποιείται στη συνάρτηση εύρους () αποθηκεύει την τιμή του εύρους και έτσι παίρνει πολλή μνήμη σε σύγκριση με το xrange () που παίρνει μόνο μέρος της μνήμης λόγω των μεταβλητών. range () επιστρέφει ένα αντικείμενο περιοχής, ενώ το xrange () επιστρέφει ένα αντικείμενο γεννήτριας.

Η συνάρτηση εύρους (1, 7, 2) θα επιστρέψει την έξοδο [1, 3, 5] και η είσοδος xrange (1, 7, 2) θα παράγει την έξοδο [1, 3, 5]. Έτσι μπορούμε να υποθέσουμε ότι είναι παρόμοια στο μοτίβο.

συμπέρασμα

εύρος () και xrange () και τα δύο έχουν διαφορετικά χαρακτηριστικά, όπως συζητήθηκε παραπάνω. Όλες οι συγκρίσεις που αναφέρονται σε αυτό το σεμινάριο, μαζί με τα παραδείγματα, θα είναι χρήσιμες για τους αναγνώστες να επιλέξουν καλύτερα τη μέθοδο που προτιμούν με βάση τις απαιτήσεις τους.