List Comprehensions (Κατασκευές Λιστών) Python

 Python Οδηγός - Μάθημα 15: List Comprehensions (Κατασκευές Λιστών)

Η List Comprehension είναι μια σύντομη και αποδοτική μέθοδος για να δημιουργήσεις και να τροποποιήσεις λίστες στην Python. Χρησιμοποιείται για να φτιάξεις μια νέα λίστα εφαρμόζοντας μια συνθήκη ή μια έκφραση σε κάθε στοιχείο μιας υπάρχουσας λίστας ή μιας άλλης ακολουθίας. Αυτός ο τρόπος είναι συνήθως πιο γρήγορος και πιο "κομψός" σε σχέση με τις παραδοσιακές μεθόδους για την κατασκευή λιστών.

Γενική Σύνταξη:

[έκφραση for στοιχείο in ακολουθία if συνθήκη]
  • έκφραση: Η τιμή ή η μετατροπή που θέλουμε να έχει το νέο στοιχείο της λίστας.
  • στοιχείο: Το στοιχείο από την ακολουθία που θα χρησιμοποιηθεί στην έκφραση.
  • συνθήκη (προαιρετική): Αν υπάρχει, καθορίζει ποια στοιχεία της ακολουθίας θα περιληφθούν στη νέα λίστα.

Παράδειγμα 1: Δημιουργία λίστας με τετράγωνα αριθμών

Ας φτιάξουμε μια λίστα με τα τετράγωνα των αριθμών από το 0 μέχρι το 9.

squares = [x**2 for x in range(10)] print(squares)

Αποτέλεσμα:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Σε αυτήν την περίπτωση, το x**2 είναι η έκφραση που υπολογίζει το τετράγωνο του κάθε αριθμού στην ακολουθία range(10).

Παράδειγμα 2: Φιλτράρισμα αριθμών με συνθήκη

Ας δημιουργήσουμε μια λίστα που περιλαμβάνει μόνο τους άρτιους αριθμούς από το 0 μέχρι το 9.

even_numbers = [x for x in range(10) if x % 2 == 0] print(even_numbers)

Αποτέλεσμα:

[0, 2, 4, 6, 8]

Εδώ, η συνθήκη if x % 2 == 0 φιλτράρει τα στοιχεία που είναι άρτια.

Παράδειγμα 3: Χρήση List Comprehension με Συναρτήσεις

Μπορείς επίσης να χρησιμοποιήσεις list comprehensions για να εφαρμόσεις συναρτήσεις σε κάθε στοιχείο μιας λίστας. Ας υποθέσουμε ότι έχουμε μια λίστα με λέξεις και θέλουμε να τις κάνουμε όλες κεφαλαία.

words = ["python", "is", "awesome"] uppercase_words = [word.upper() for word in words] print(uppercase_words)

Αποτέλεσμα:

['PYTHON', 'IS', 'AWESOME']

Η μέθοδος upper() εφαρμόζεται σε κάθε λέξη στη λίστα.


Οφέλη από τη χρήση List Comprehension:

  1. Συντομία: Μειώνει τον αριθμό των γραμμών κώδικα, κάνοντάς τον πιο ευανάγνωστο.
  2. Αποδοτικότητα: Εκτελείται πιο γρήγορα σε σχέση με τις παραδοσιακές μεθόδους όπως οι βρόχοι for.
  3. Ευκαμψία: Μπορείς να συνδυάσεις εκφράσεις και συνθήκες με πολύ λιγότερο κώδικα.

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

Σχόλια

Δημοφιλείς αναρτήσεις από αυτό το ιστολόγιο

Αυτόματο Φως Νύχτας

🚀 Διαγωνισμός Ρομποτικής & Αυτοματισμού! 🤖

🚗🤖 Φτιάξε το Δικό σου Μίνι Ρομποτικό Αυτοκίνητο με Arduino!