Λίστα Python: κατανόηση, Apend, ταξινόμηση, μήκος, αντίστροφα παραδείγματα

Πίνακας περιεχομένων:

Anonim

Τι είναι η λίστα Python;

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

Σε αυτό το σεμινάριο python, θα μάθετε:

  • Τι είναι η λίστα Python;
  • Παραδείγματα λιστών Python:
  • Πρόσβαση σε τιμές μέσα σε λίστες
  • Τεμαχισμός λίστας
  • Ενημέρωση λιστών
  • Διαγραφή στοιχείων λίστας
  • Προσθήκη στοιχείων λίστας
  • Λίστα ενσωματωμένων συναρτήσεων (μέθοδοι)
  • Επανάληψη λιστών
  • Λίστα κατανοήσεων

Παραδείγματα λιστών Python:

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

Παραδείγματα ομοιογενών καταλόγων περιλαμβάνουν:

list of integers = [1, 2, 3, 8, 33]list of animals = ['dog', 'cat', 'goat']list of names = ['John', 'Travis', 'Sheila']list of floating numbers = [2.2, 4.5, 9.8, 10.4]

Παραδείγματα ετερογενών λιστών περιλαμβάνουν:

[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']

Πρόσβαση σε τιμές μέσα σε λίστες

Για πρόσβαση σε τιμές εντός λιστών, μπορεί να χρησιμοποιηθεί το ευρετήριο των αντικειμένων μέσα στις λίστες. Ένα ευρετήριο στις λίστες Python αναφέρεται στη θέση ενός στοιχείου μέσα σε μια λίστα με σειρά. Για παράδειγμα:

list = [3, 22, 30, 5.3, 20]
  • Η πρώτη τιμή στην παραπάνω λίστα, 3, έχει δείκτη 0
  • Η δεύτερη τιμή, 22, έχει δείκτη 1
  • Η τρίτη τιμή, 30, έχει δείκτη 2

και ούτω καθεξής. Για πρόσβαση σε καθεμία από τις τιμές από τη λίστα, θα χρησιμοποιούσατε:

list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20

Μπορείτε να έχετε πρόσβαση στο τελευταίο μέλος μιας λίστας χρησιμοποιώντας το ευρετήριο -1. Για παράδειγμα,

list[-1] = 20

Τεμαχισμός λίστας

Ο τεμαχισμός λίστας είναι η μέθοδος διαχωρισμού ενός υποσυνόλου μιας λίστας και οι δείκτες των αντικειμένων της λίστας χρησιμοποιούνται επίσης για αυτό. Για παράδειγμα, χρησιμοποιώντας το ίδιο παράδειγμα λίστας παραπάνω.

list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3);list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4)list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).

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

list[2:-1] = [30, 5.3] 
και όχι [30, 5.3, 20]. Το ίδιο ισχύει για όλα τα άλλα παραδείγματα κοπής λίστας που δίνονται παραπάνω.

Ενημέρωση λιστών

Ας υποθέσουμε ότι έχετε μια λίστα = [φυσική, χημεία, μαθηματικά] και θέλετε να αλλάξετε τη λίστα σε [βιολογία, χημεία, μαθηματικά], αλλάζοντας αποτελεσματικά το μέλος στο ευρετήριο 0. Αυτό μπορεί εύκολα να γίνει αναθέτοντας αυτό το ευρετήριο στο νέο μέλος που θέλετε.

Αυτό είναι,

list = [physics, chemistry, mathematics]list[0] = biologyprint(list)

Αποτέλεσμα: [βιολογία, χημεία, μαθηματικά]

Αυτό αντικαθιστά το μέλος στο ευρετήριο 0 (φυσική) με τη νέα τιμή που θέλετε (χημεία). Αυτό μπορεί να γίνει για οποιοδήποτε μέλος ή υποσύνολο της λίστας που θέλετε να αλλάξετε.

Για να δώσω ένα άλλο παράδειγμα. ας υποθέσουμε ότι έχετε μια λίστα που ονομάζεται ακέραιοι και περιέχει τους αριθμούς [2, 5, 9, 20, 27]. Για να αντικαταστήσετε 5 σε αυτήν τη λίστα με 10, μπορείτε να το κάνετε με:

 integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]

Για να αντικαταστήσετε το τελευταίο μέλος της λίστας ακέραιων αριθμών, που είναι 27, με έναν δωρεάν αριθμό όπως το 30,5, θα χρησιμοποιούσατε:

 integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]

Διαγραφή στοιχείων λίστας

Υπάρχουν 3 μέθοδοι Python για τη διαγραφή στοιχείων λίστας: list.remove (), list.pop () και del operator. Η μέθοδος κατάργησης παίρνει το συγκεκριμένο στοιχείο που πρέπει να αφαιρεθεί ως όρισμα ενώ το pop και del λαμβάνει το ευρετήριο του στοιχείου που θα αφαιρεθεί ως όρισμα Για παράδειγμα:

λίστα = [3, 5, 7, 8, 9, 20]

Για να διαγράψετε το 3 (το 1ο στοιχείο) από τη λίστα, μπορείτε να χρησιμοποιήσετε:

  • list.remove (3) ή
  • list.pop [0] ή
  • λίστα del [0]

Για να διαγράψετε το 8, το στοιχείο στο ευρετήριο 3, από τη λίστα, μπορείτε να χρησιμοποιήσετε:

  • list.remove (8) ή
  • list.pop [3]

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

Για να προσθέσετε στοιχεία σε μια λίστα, χρησιμοποιείται η μέθοδος προσάρτησης και αυτό προσθέτει το στοιχείο στο τέλος της λίστας.

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

list_1 = [3, 5, 7, 8, 9, 20]list_1.append(3.33)print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]list_1.append("cats")print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]

Λίστα ενσωματωμένων συναρτήσεων (μέθοδοι)

Ακολουθεί μια λίστα με ενσωματωμένες συναρτήσεις και μεθόδους με τις περιγραφές τους:

  • len (λίστα): δίνει το μήκος της λίστας ως έξοδο. Για παράδειγμα:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
  • max (list): επιστρέφει το στοιχείο στη λίστα με τη μέγιστη τιμή. Για παράδειγμα:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
  • min (list): επιστρέφει το στοιχείο στη λίστα με την ελάχιστη τιμή. Για παράδειγμα:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
  • list (tuple): μετατρέπει ένα αντικείμενο tuple σε λίστα. Για παράδειγμα;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
  • list.append (στοιχείο): προσαρτά το στοιχείο στη λίστα. Για παράδειγμα;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
  • list.pop (index): καταργεί το στοιχείο στο καθορισμένο ευρετήριο από τη λίστα. Για παράδειγμα;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
  • list.remove (στοιχείο): διαγράφει το στοιχείο από τη λίστα. Για παράδειγμα,
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
  • list.reverse (): αντιστρέφει τα αντικείμενα της λίστας. Για παράδειγμα;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
  • list.index (στοιχείο): για να λάβετε την τιμή ευρετηρίου ενός στοιχείου στη λίστα. Για παράδειγμα;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
  • άθροισμα (λίστα): για να λάβετε το άθροισμα όλων των τιμών στη λίστα, εάν οι τιμές είναι όλοι οι αριθμοί (ακέραιοι ή δεκαδικοί). Για παράδειγμα;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17

Εάν η λίστα περιέχει οποιοδήποτε στοιχείο που δεν είναι αριθμός, όπως μια συμβολοσειρά, η μέθοδος αθροίσματος δεν θα λειτουργούσε. Θα λάβατε ένα σφάλμα λέγοντας: " TypeError : unsupported operand type (s) for +: 'int' and 'str'"

  • list.sort (): για να τακτοποιήσετε μια λίστα με ακέραιους αριθμούς, αριθμούς κινητής υποδιαστολής ή συμβολοσειρές, σε αύξουσα ή φθίνουσα σειρά. Για παράδειγμα:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]

Ενα άλλο παράδειγμα:

values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]

Μια λίστα συμβολοσειρών μπορεί επίσης να ταξινομηθεί, είτε αλφαβητικά είτε κατά μήκος των χορδών. Για παράδειγμα;

# to sort the list by length of the elementsstrings = ['cat', 'mammal', 'goat', 'is']sort_by_alphabet = strings.sort()sort_by_length = strings.sort(key = len)print(sort_by_alphabet)print(sort_by_length)>>> ['cat', 'goat', 'is', 'mammal']['is', 'cat', 'goat', 'mammal']

Μπορούμε να ταξινομήσουμε την ίδια λίστα αλφαβητικά χρησιμοποιώντας «συμβολοσειρές.

Επανάληψη λιστών

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

λίστα = [10, 20, 30, 40, 50, 60, 70].

Για να δείτε όλα τα στοιχεία αυτής της λίστας και ας πούμε, προσθέστε 10 σε κάθε στοιχείο:

for elem in list:elem = elem + 5print(elem)>>>>15253545556575

Για να περάσετε τα πρώτα τρία στοιχεία της λίστας και να τα διαγράψετε όλα.

for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]

Για να περάσετε από το 3ο (ευρετήριο 2) στο τελευταίο στοιχείο στη λίστα και να τα προσθέσετε σε μια νέα λίστα που ονομάζεται new_list:

new_list = []for elem in list[2:]:new_list.append(elem)print(“New List: {}”.format(new_list))Output:New List: [30, 40, 50, 60, 70]

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

Κατανοή λιστών

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

Για παράδειγμα; ας πούμε ότι θέλετε να δημιουργήσετε μια λίστα που περιέχει τα τετράγωνα όλων των αριθμών από 1 έως 9:

list_of squares = []for int in range(1, 10):square = int ** 2list_of_squares.append(square)print(list_of_squares)List_of_squares using for loop:[1, 4, 9, 16, 25, 36, 49, 64, 81]

Για να κάνετε το ίδιο πράγμα με τις καταλήψεις λίστας:

list_of_squares_2 = [int**2 for int in range(1, 10)]print('List of squares using list comprehension: {}'.format(list_of_squares_2))Output using list comprehension:[1, 4, 9, 16, 25, 36, 49, 64, 81]

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

Ακολουθεί ένας πίνακας που περιέχει ορισμένες λειτουργίες και μεθόδους λίστας και τις περιγραφές τους.

Ενσωματωμένες λειτουργίες

ΛΕΙΤΟΥΡΓΙΑ ΠΕΡΙΓΡΑΦΗ
Στρογγυλό() Στρογγυλοποιεί τον αριθμό που έχει περάσει ως όρισμα σε έναν καθορισμένο αριθμό ψηφίων και επιστρέφει την τιμή κυμαινόμενου σημείου
Ελάχ. () επιστρέψτε το ελάχιστο στοιχείο μιας δεδομένης λίστας
Μέγιστη() επιστρέψτε το μέγιστο στοιχείο μιας δεδομένης λίστας
Λέν () Επιστρέφει το μήκος της λίστας
Απαριθμώ() Αυτή η ενσωματωμένη συνάρτηση δημιουργεί τόσο τις τιμές όσο και τα ευρετήρια των αντικειμένων σε μια επαναληπτική, οπότε δεν χρειάζεται να μετράμε χειροκίνητα
Φίλτρο() ελέγχει εάν κάθε στοιχείο μιας λίστας είναι αλήθεια ή όχι
Λάμδα Μια έκφραση που μπορεί να εμφανιστεί σε μέρη όπου ένα def (για τη δημιουργία συναρτήσεων) δεν είναι συντακτικό, μέσα σε μια κυριολεκτική λίστα ή ορίσματα κλήσεων μιας συνάρτησης
Χάρτης() επιστρέφει μια λίστα των αποτελεσμάτων μετά την εφαρμογή της δεδομένης συνάρτησης σε κάθε στοιχείο ενός δεδομένου επαναλαμβανόμενου
Συσσωρεύω() Εφαρμόστε μια συγκεκριμένη συνάρτηση που μεταβιβάστηκε στο όρισμα σε όλα τα στοιχεία λίστας επιστρέφει μια λίστα που περιέχει τα ενδιάμεσα αποτελέσματα
Αθροισμα() Επιστρέφει το άθροισμα όλων των αριθμών στη λίστα
Cmp () Αυτό χρησιμοποιείται για τη σύγκριση δύο λιστών και επιστροφών 1 εάν η πρώτη λίστα είναι μεγαλύτερη από τη δεύτερη λίστα.
Εισάγετε Εισαγωγή στοιχείου στη λίστα σε συγκεκριμένη θέση

Μέθοδοι λίστας

ΛΕΙΤΟΥΡΓΙΑ ΠΕΡΙΓΡΑΦΗ
Προσαρτώ() Προσθέτει ένα νέο στοιχείο στο τέλος της λίστας
Σαφή() Καταργεί όλα τα στοιχεία από τη λίστα
Αντίγραφο() Επιστρέφει ένα αντίγραφο της αρχικής λίστας
Επεκτείνω() Προσθέστε πολλά στοιχεία στο τέλος της λίστας
Μετρώ() Επιστρέφει τον αριθμό εμφανίσεων ενός συγκεκριμένου αντικειμένου σε μια λίστα
Δείκτης() Επιστρέφει το ευρετήριο ενός συγκεκριμένου στοιχείου μιας λίστας
Κρότος() Διαγράφει το στοιχείο από τη λίστα σε συγκεκριμένο ευρετήριο (διαγραφή κατά θέση)
Αφαιρώ() Διαγράφει το καθορισμένο στοιχείο από τη λίστα (διαγραφή κατά τιμή)
ΑΝΤΙΣΤΡΟΦΗ() Επιτόπια μέθοδος αντιστροφής που αντιστρέφει τη σειρά των στοιχείων της λίστας

Περίληψη

  • Μια λίστα είναι ακριβώς όπως ακούγεται, ένα κοντέινερ που περιέχει διαφορετικά αντικείμενα Python, τα οποία θα μπορούσαν να είναι ακέραιοι, λέξεις, τιμές κ.λπ.
  • Οι λίστες Python μπορούν να είναι ομοιογενείς, σημαίνει ότι μπορούν να περιέχουν τον ίδιο τύπο αντικειμένων. ή ετερογενή, που περιέχει διαφορετικούς τύπους αντικειμένων.
  • Για πρόσβαση σε τιμές εντός λιστών, μπορεί να χρησιμοποιηθεί το ευρετήριο των αντικειμένων μέσα στις λίστες.
  • Ο τεμαχισμός λίστας είναι η μέθοδος διαχωρισμού ενός υποσυνόλου μιας λίστας και οι δείκτες των αντικειμένων της λίστας χρησιμοποιούνται επίσης για αυτό.
  • Τρεις μέθοδοι για τη διαγραφή στοιχείων λίστας είναι: 1) list.remove (), 2) list.pop () και 3) del operator
  • Η μέθοδος προσάρτησης χρησιμοποιείται για την προσθήκη στοιχείων. Αυτό προσθέτει το στοιχείο στο τέλος της λίστας.
  • Η μέθοδος Looping του προγράμματος Python μπορεί να πραγματοποιηθεί ταυτόχρονα σε πολλά στοιχεία μιας λίστας δεδομένων.
  • Οι λίστες κατανόησης είναι συναρτήσεις Python που χρησιμοποιούνται για τη δημιουργία νέων ακολουθιών (όπως λίστες, λεξικά κ.λπ.) χρησιμοποιώντας ακολουθίες που έχουν ήδη δημιουργηθεί.