Πώς μπορείτε να δημιουργήσετε την ακόλουθη λίστα με την range()
στην Python;
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
χρησιμοποιήστε τη συνάρτηση reversed()
:
reversed(range(10))
Είναι πολύ πιο ουσιαστικό.
Επικαιροποίηση:
Αν θέλετε να είναι μια λίστα (όπως τόνισε ο btk):
list(reversed(range(10)))
Ενημέρωση:
Εάν θέλετε να χρησιμοποιήσετε μόνο την range
για να επιτύχετε το ίδιο αποτέλεσμα, μπορείτε να χρησιμοποιήσετε όλες τις παραμέτρους της. range(start, stop, step)
Για παράδειγμα, για να δημιουργήσετε μια λίστα [5,4,3,2,1,0]
, μπορείτε να χρησιμοποιήσετε τα εξής:
range(5, -1, -1)
Μπορεί να είναι λιγότερο διαισθητικό, αλλά όπως αναφέρουν τα σχόλια, αυτό είναι πιο αποδοτικό και η σωστή χρήση του εύρους για αντίστροφη λίστα.
Χρησιμοποιήστε την ενσωματωμένη λειτουργία 'range'. Η υπογραφή είναι range(start, stop, step)
. Αυτό παράγει μια ακολουθία που δίνει αριθμούς, ξεκινώντας από την start
και τελειώνοντας αν έχει επιτευχθεί η stop
, εξαιρώντας την stop
.
>>> range(9,-1,-1)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> range(-2, 6, 2)
[-2, 0, 2, 4]
Στην Python 3, αυτό παράγει ένα αντικείμενο range
χωρίς λίστα, το οποίο λειτουργεί ουσιαστικά όπως μια λίστα μόνο για ανάγνωση (αλλά χρησιμοποιεί πολύ λιγότερη μνήμη, ειδικά για μεγάλες σειρές).
range(9,-1,-1)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]