Tutorial Python Empty List - Πώς να δημιουργήσετε μια κενή λίστα στο Python

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

Θα μάθεις:

  • Πώς να δημιουργήσετε μια κενή λίστα χρησιμοποιώντας αγκύλες [].
  • Πώς να δημιουργήσετε μια κενή λίστα χρησιμοποιώντας list().
  • Οι περιπτώσεις χρήσης τους.
  • Πόσο αποτελεσματικά είναι (το ένα είναι ταχύτερο από το άλλο!). Θα χρησιμοποιήσουμε τη timeitλειτουργική μονάδα για να τις συγκρίνουμε.

Ας ξεκινήσουμε! ✨

? Χρήση αγκυλών

Μπορείτε να δημιουργήσετε μια κενή λίστα με ένα κενό ζεύγος αγκυλών, όπως αυτό:  

? Συμβουλή: Εκχωρούμε την κενή λίστα σε μια μεταβλητή για να την χρησιμοποιήσουμε αργότερα στο πρόγραμμά μας.

Για παράδειγμα:

num = []

Η κενή λίστα θα έχει μήκος 0, όπως μπορείτε να δείτε εδώ:

>>> num = [] >>> len(num) 0

Οι κενές λίστες είναι ψευδείς τιμές, πράγμα που σημαίνει ότι αξιολογούνται Falseσε δυαδικό περιβάλλον:

>>> num = [] >>> bool(num) False

Προσθήκη στοιχείων σε μια κενή λίστα

Μπορείτε να προσθέσετε στοιχεία σε μια κενή λίστα χρησιμοποιώντας τις μεθόδους append()και insert():

  • append() προσθέτει το στοιχείο στο τέλος της λίστας.
  • insert() προσθέτει το στοιχείο στο συγκεκριμένο ευρετήριο της λίστας που επιλέγετε.

Δεδομένου ότι οι λίστες μπορεί να είναι είτε αληθείς είτε ψευδείς τιμές, ανάλογα με το αν είναι κενές ή όχι όταν αξιολογούνται, μπορείτε να τις χρησιμοποιήσετε υπό όρους όπως:

if num: print("This list is not empty") else: print("This list is empty")

Η έξοδος αυτού του κωδικού είναι:

This list is empty

Επειδή η λίστα ήταν κενή, οπότε αξιολογείται ως False.

Γενικά:

  • Εάν η λίστα δεν είναι κενή, αξιολογείται True, έτσι εκτελείται η ρήτρα if.
  • Εάν η λίστα είναι κενή, αξιολογείται False, οπότε εκτελείται η άλλη ρήτρα.

Παράδειγμα:

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

>>> num = [] >>> for i in range(3, 15, 2): num.append(i)

Ελέγχουμε την τιμή της μεταβλητής για να δούμε αν τα στοιχεία προσαρτήθηκαν με επιτυχία και επιβεβαιώνουμε ότι η λίστα δεν είναι πλέον κενή:  

>>> num [3, 5, 7, 9, 11, 13]

? Συμβουλή: Συνήθως χρησιμοποιούμε append()για να προσθέσουμε το πρώτο στοιχείο σε μια κενή λίστα, αλλά μπορείτε επίσης να προσθέσετε αυτό το στοιχείο που καλεί τη insert()μέθοδο με ευρετήριο 0:

>>> num = [] >>> num.insert(0, 1.5) # add the float 1.5 at index 0 >>> num [1.5]

? Χρήση της λίστας () Κατασκευαστής

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

Σύμφωνα με την τεκμηρίωση Python:

Αν δεν το επιχείρημα είναι δεδομένη, ο κατασκευαστής δημιουργεί μια νέα κενή λίστα, [].

? Συμβουλή: Αυτό δημιουργεί ένα νέο αντικείμενο λίστας στη μνήμη και δεδομένου ότι δεν περάσαμε ορίσματα list(), θα δημιουργηθεί μια κενή λίστα.

Για παράδειγμα:

num = list()

Αυτή η κενή λίστα θα έχει μήκος 0, όπως μπορείτε να δείτε εδώ:

>>> num = list() >>> len(num) 0

Και είναι ψευδής τιμή όταν είναι κενή (αξιολογείται Falseσε δυαδικό πλαίσιο):

>>> num = list() >>> bool(num) False

Παράδειγμα:

Αυτή είναι μια πλήρως λειτουργική λίστα, ώστε να μπορούμε να προσθέσουμε στοιχεία σε αυτήν:

>>> num = list() >>> for i in range(3, 15, 2): num.append(i)

Και το αποτέλεσμα θα είναι μια μη κενή λίστα, όπως μπορείτε να δείτε εδώ:

>>> num [3, 5, 7, 9, 11, 13]

? Χρησιμοποιήστε Θήκες

  • Συνήθως χρησιμοποιούμε list()για τη δημιουργία λιστών από υπάρχοντα επαναλαμβανόμενα προγράμματα όπως συμβολοσειρές, λεξικά ή πλειάδες.
  • Συνήθως θα βλέπετε αγκύλες []να χρησιμοποιούνται για τη δημιουργία κενών λιστών στο Python επειδή αυτή η σύνταξη είναι πιο περιεκτική και ταχύτερη.

? Αποδοτικότητα

Περίμενε! Μόλις σου είπα ότι []είναι πιο γρήγορο από list()...

Αλλά πόσο πιο γρήγορα;

Ας ελέγξουμε την αποτελεσματικότητα του χρόνου τους χρησιμοποιώντας την ενότητα timeit .

Για να χρησιμοποιήσετε αυτήν την ενότητα στο πρόγραμμα Python, πρέπει να την εισαγάγετε:

>>> import timeit

Συγκεκριμένα, θα χρησιμοποιήσουμε τη συνάρτηση timeit από αυτήν την ενότητα, την οποία μπορείτε να καλέσετε με αυτήν τη σύνταξη:

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

? Στα σημάδια σας ... ετοιμαστείτε ... έτοιμοι! Εδώ είναι ο κωδικός και η έξοδος:

Πρώτα, εισάγουμε τη λειτουργική μονάδα.

>>> import timeit

Στη συνέχεια, αρχίζουμε να δοκιμάζουμε κάθε σύνταξη.

Δοκιμές []:

>>> timeit.timeit('[]', number=10**4) 0.0008467000000109692

Δοκιμές list():

>>> timeit.timeit('list()', number=10**4) 0.002867799999989984

? Συμβουλή: Παρατηρήστε ότι ο κωδικός που θέλετε να χρονοδιαγράψετε πρέπει να περιβάλλεται από μεμονωμένα ''και διπλά εισαγωγικά "". Ο χρόνος που επιστρέφεται από τη timeitσυνάρτηση εκφράζεται σε δευτερόλεπτα.

Συγκρίνετε αυτά τα αποτελέσματα:

  • []: 0.0008467000000109692
  • list(): 0.002867799999989984

Μπορείτε να δείτε ότι []είναι πολύ πιο γρήγορο από list(). Υπήρχε διαφορά περίπου 0.002δευτερολέπτων σε αυτήν τη δοκιμή:

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

Είμαι βέβαιος ότι πρέπει να το ρωτάτε αυτή τη στιγμή: Γιατί είναι list()λιγότερο αποτελεσματικό από []ότι εάν κάνουν ακριβώς το ίδιο πράγμα;

Λοιπόν ... list()είναι πιο αργό γιατί απαιτεί αναζήτηση του ονόματος της συνάρτησης, κλήση και στη συνέχεια δημιουργία του αντικειμένου της λίστας στη μνήμη. Αντίθετα, []είναι σαν μια "συντόμευση" που δεν απαιτεί τόσα πολλά ενδιάμεσα βήματα για τη δημιουργία της λίστας στη μνήμη.

Αυτή η χρονική διαφορά δεν θα επηρεάσει πολύ την απόδοση του προγράμματος σας, αλλά είναι ωραίο να γνωρίζετε ποιο είναι πιο αποτελεσματικό και πώς λειτουργούν πίσω από τα παρασκήνια.

? Συνοπτικά

Μπορείτε να δημιουργήσετε μια κενή λίστα χρησιμοποιώντας ένα κενό ζεύγος αγκυλών []ή τον τύπο κατασκευαστή list(), μια ενσωματωμένη συνάρτηση που δημιουργεί μια κενή λίστα όταν δεν περνούν ορίσματα.

Τα τετράγωνα αγκύλια []χρησιμοποιούνται συνήθως στο Python για τη δημιουργία κενών λιστών επειδή είναι ταχύτερη και πιο περιεκτική.

Ελπίζω πραγματικά ότι σας άρεσε το άρθρο μου και το βρήκα χρήσιμο. Τώρα μπορείτε να δημιουργήσετε κενές λίστες στα έργα Python. Δείτε τα διαδικτυακά μου μαθήματα. Ακολούθησέ με στο τουίτερ. ⭐️

Εάν θέλετε να εμβαθύνετε σε λίστες, μπορείτε να διαβάσετε:

  • Παράρτημα Python List - Πώς να προσθέσετε ένα στοιχείο σε μια σειρά, που εξηγείται με παραδείγματα
  • Η μέθοδος σειράς λίστας ταξινόμησης Python - Αύξουσα και φθίνουσα εξηγείται με παραδείγματα
  • Python List Append VS Python List Extend - Η διαφορά που εξηγείται με παραδείγματα μεθόδου Array