background image

Το δοσμένο ως τελικό σημείο δεν είναι ποτέ μέρος της 

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

range

(

5

10

)

   

5

 through 

9

range

(

0

10

3

)

   

0

3

6

9

range

(

-

10

-

100

-

30

)

  

-

10

-

40

-

70

Στις   περισσότερες   περιπτώσεις,   όμως,   είναι   βολικό   να 

χρησιμοποιείτε την  συνάρτηση enumerate().

Κάτι   περίεργο   συμβαίνει   αν   απλά   να   εκτυπώσετε   μια 

range:

>>> 

print

(

range

(

10

))

range(0, 10)

Από πολλές απόψεις το αντικείμενο που επιστρέφεται από 

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

Λέμε   ένα   αντικείμενο   iterable  ,δηλαδή,   ότι   είναι 

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

>>> 

list

(

range

(

5

))

http://arch.icte.uowm.gr

 - A Mini greek notebook for Learning Python Programming 

18