Μια λίστα είναι ένα κοντέινερ που αποθηκεύει στοιχεία διαφορετικών τύπων δεδομένων (ints, floats, Boolean, string, κ.λπ.) με μια σειρά. Είναι μια σημαντική δομή δεδομένων που είναι ενσωματωμένη στο Python. Τα δεδομένα γράφονται μέσα σε αγκύλες ([]) και οι τιμές διαχωρίζονται με κόμμα (,).
Τα στοιχεία μέσα στη λίστα ευρετηριάζονται με το πρώτο στοιχείο ξεκινώντας από το ευρετήριο 0. Μπορείτε να κάνετε αλλαγές στη δημιουργημένη λίστα προσθέτοντας νέα στοιχεία ή ενημερώνοντας, διαγράφοντας τα υπάρχοντα. Μπορεί επίσης να έχει διπλά αντικείμενα και μια ένθετη λίστα.
Υπάρχουν πολλές διαθέσιμες μέθοδοι σε μια λίστα, και η σημαντική είναι η ευρετήριο ().
Σε αυτό το σεμινάριο, θα μάθετε:
- Ευρετήριο λίστας Python ()
- Χρησιμοποιώντας το for-loop για να λάβετε το ευρετήριο ενός στοιχείου σε μια λίστα
- Χρήση while-loop και list.index ()
- Χρησιμοποιώντας κατανόηση λίστας για να λάβετε τον κατάλογο του στοιχείου σε μια λίστα
- Χρησιμοποιώντας το Enumerate για να λάβετε το ευρετήριο ενός στοιχείου σε μια λίστα
- Χρησιμοποιώντας φίλτρο για να λάβετε το ευρετήριο ενός στοιχείου σε μια λίστα
- Χρησιμοποιώντας το NumPy για να λάβετε το ευρετήριο ενός στοιχείου σε μια λίστα
- Χρησιμοποιώντας το more_itertools.locate () για να λάβετε το ευρετήριο ενός στοιχείου σε μια λίστα
Ευρετήριο λίστας Python ()
Η μέθοδος ευρετηρίου λίστας () σάς βοηθά να βρείτε τον πρώτο χαμηλότερο δείκτη του δεδομένου στοιχείου. Εάν υπάρχουν διπλά στοιχεία μέσα στη λίστα, επιστρέφεται ο πρώτος δείκτης του στοιχείου. Αυτός είναι ο ευκολότερος και απλός τρόπος για να αποκτήσετε το ευρετήριο.
Εκτός από την ενσωματωμένη μέθοδο ευρετηρίου λίστας (), μπορείτε επίσης να χρησιμοποιήσετε άλλους τρόπους για να πάρετε το ευρετήριο, όπως βρόχο μέσω της λίστας, χρησιμοποιώντας καταλήψεις λίστας, αριθμήσεις (), μεθόδους φίλτρου
Η μέθοδος list index () επιστρέφει τον πρώτο χαμηλότερο δείκτη του δεδομένου στοιχείου.
Σύνταξη
list.index(element, start, end)
Παράμετροι
Παράμετροι | Περιγραφή |
στοιχείο | Το στοιχείο που θέλετε να λάβετε το ευρετήριο. |
αρχή | Αυτή η παράμετρος είναι προαιρετική. Μπορείτε να ορίσετε την αρχή: ευρετήριο για αναζήτηση του στοιχείου. Εάν δεν δοθεί, η προεπιλεγμένη τιμή είναι 0. |
τέλος | Αυτή η παράμετρος είναι προαιρετική. Μπορείτε να καθορίσετε το τελικό ευρετήριο για το στοιχείο προς αναζήτηση. Εάν δεν δοθεί, θεωρείται ως το τέλος της λίστας. |
Αξία επιστροφής
Η μέθοδος list index () επιστρέφει το ευρετήριο του δεδομένου στοιχείου. Εάν το στοιχείο δεν υπάρχει στη λίστα, η μέθοδος ευρετηρίου () θα εμφανίσει ένα σφάλμα, για παράδειγμα, το ValueError: «Στοιχείο» δεν βρίσκεται στη λίστα.
Παράδειγμα: Για να βρείτε το ευρετήριο του δεδομένου στοιχείου.
Στη λίστα my_list = ['A', 'B', 'C', 'D', 'E', 'F'], θα θέλαμε να μάθουμε το ευρετήριο για τα στοιχεία C και F.
Το παρακάτω παράδειγμα δείχνει τον τρόπο λήψης του ευρετηρίου.
my_list = ['A', 'B', 'C', 'D', 'E', 'F']print("The index of element C is ", my_list.index('C'))print("The index of element F is ", my_list.index('F'))
Παραγωγή:
The index of element C is 2The index of element F is 5
Παράδειγμα: Χρήση έναρξης και λήξης στο ευρετήριο ()
Σε αυτό το παράδειγμα θα προσπαθήσετε να περιορίσετε την αναζήτηση ευρετηρίου σε μια λίστα χρησιμοποιώντας το ευρετήριο έναρξης και λήξης.
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']print("The index of element C is ", my_list.index('C', 1, 5))print("The index of element F is ", my_list.index('F', 3, 7))#using just the startindexprint("The index of element D is ", my_list.index('D', 1))
Παραγωγή:
The index of element C is 2The index of element F is 5The index of element D is 3
Παράδειγμα: Για να ελέγξετε τη μέθοδο ευρετηρίου () με ένα στοιχείο που δεν υπάρχει.
Όταν προσπαθείτε να αναζητήσετε ευρετήριο στη λίστα για στοιχείο που δεν υπάρχει, θα εμφανιστεί ένα σφάλμα όπως φαίνεται παρακάτω:
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']print("The index of element C is ", my_list.index('Z'))
Παραγωγή:
Traceback (most recent call last):File "display.py", line 3, inprint("The index of element C is ", my_list.index('Z'))ValueError: 'Z' is not in list
Χρησιμοποιώντας το for-loop για να λάβετε το ευρετήριο ενός στοιχείου σε μια λίστα
Με τη μέθοδο list.index (), έχουμε δει ότι δίνει το ευρετήριο του στοιχείου που περνά ως όρισμα.
Τώρα εξετάστε τη λίστα ως: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']. Το όνομα «Guru» υπάρχει 3 φορές στο ευρετήριο και θέλω όλα τα ευρετήρια με το όνομα «Guru».
Χρησιμοποιώντας το for-loop θα πρέπει να είμαστε σε θέση να λάβουμε τα πολλαπλά ευρετήρια όπως φαίνεται στο παρακάτω παράδειγμα.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']all_indexes = []for i in range(0, len(my_list)) :if my_list[i] == 'Guru' :all_indexes.append(i)print("Originallist ", my_list)print("Indexes for element Guru : ", all_indexes)
Παραγωγή:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Χρήση while-loop και list.index ()
Χρησιμοποιώντας ένα loop-loop θα περιηγηθείτε στη λίστα που δίνεται για να λάβετε όλα τα ευρετήρια του δεδομένου στοιχείου.
Στη λίστα: my_list = ["Guru", "Siya", "Tiya", "Guru", "Daksh", "Riya", "Guru"], χρειαζόμαστε όλους τους δείκτες του στοιχείου "Guru".
Παρακάτω δίνεται ένα παράδειγμα που δείχνει πώς να αποκτήσετε όλα τα ευρετήρια χρησιμοποιώντας while-loop
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']result = []elementindex = -1while True:try:elementindex = my_list.index('Guru', elementindex+1)result.append(elementindex)except ValueError:breakprint("OriginalList is ", my_list)print("The index for element Guru is ", result)
Παραγωγή:
OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']The index for element Guru is [0, 3, 6]
Χρησιμοποιώντας κατανόηση λίστας για να λάβετε τον κατάλογο του στοιχείου σε μια λίστα
Για να λάβετε όλα τα ευρετήρια, ένας γρήγορος και απλός τρόπος είναι να χρησιμοποιήσετε την κατανόηση της λίστας στη λίστα.
Η κατανόηση λίστας είναι συναρτήσεις Python που χρησιμοποιούνται για τη δημιουργία νέων ακολουθιών (όπως λίστες, λεξικά κ.λπ.), δηλαδή, χρησιμοποιώντας αλληλουχίες που έχουν ήδη δημιουργηθεί.
Συμβάλλουν στη μείωση των μεγαλύτερων βρόχων και διευκολύνουν την ανάγνωση και συντήρηση του κώδικα σας.
Το παρακάτω παράδειγμα δείχνει πώς να το κάνετε:
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']print("Originallist ", my_list)all_indexes = [a for a in range(len(my_list)) if my_list[a] == 'Guru']print("Indexes for element Guru : ", all_indexes)
Παραγωγή:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Χρησιμοποιώντας το Enumerate για να λάβετε το ευρετήριο ενός στοιχείου σε μια λίστα
Η συνάρτηση Enumerate () είναι μια ενσωματωμένη συνάρτηση διαθέσιμη με το python. Μπορείτε να κάνετε χρήση του αριθμητικού αριθμού για να βρείτε όλα τα ευρετήρια του στοιχείου σε μια λίστα. Παίρνει την είσοδο ως επαναλαμβανόμενο αντικείμενο (δηλαδή, ένα αντικείμενο που μπορεί να είναι βρόχο) και η έξοδος είναι ένα αντικείμενο με μετρητή σε κάθε στοιχείο.
Το ακόλουθο παράδειγμα δείχνει πώς να κάνετε χρήση του αριθμητικού αριθμού σε μια λίστα για να λάβετε όλα τα ευρετήρια για δεδομένο στοιχείο.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']print("Originallist ", my_list)print("Indexes for element Guru : ", [i for i, e in enumerate(my_list) if e == 'Guru'])
Παραγωγή:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Χρησιμοποιώντας φίλτρο για να λάβετε το ευρετήριο ενός στοιχείου σε μια λίστα
Η μέθοδος filter () φιλτράρει τη δεδομένη λίστα με βάση τη συνάρτηση που δίνεται. Κάθε στοιχείο της λίστας θα περάσει στη συνάρτηση και τα απαιτούμενα στοιχεία θα φιλτραριστούν με βάση την κατάσταση που δίνεται στη συνάρτηση.
Ας χρησιμοποιήσουμε τη μέθοδο φίλτρου () για να λάβουμε τα ευρετήρια για το δεδομένο στοιχείο στη λίστα.
Το παρακάτω παράδειγμα δείχνει πώς μπορείτε να χρησιμοποιήσετε το φίλτρο σε μια λίστα.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']print("Originallist ", my_list)all_indexes = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list))))print("Indexes for element Guru : ", all_indexes)
Παραγωγή:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Χρησιμοποιώντας το NumPy για να λάβετε το ευρετήριο ενός στοιχείου σε μια λίστα
Η βιβλιοθήκη NumPy χρησιμοποιείται ειδικά για συστοιχίες. Έτσι εδώ θα χρησιμοποιήσουμε το NumPy για να λάβουμε το ευρετήριο του στοιχείου που χρειαζόμαστε από τη λίστα που δίνεται.
Για να χρησιμοποιήσουμε το NumPy, πρέπει να το εγκαταστήσουμε και να το εισαγάγουμε.
Ακολουθούν τα ίδια βήματα:
Βήμα 1) Εγκαταστήστε το NumPy
pip install numpy
Βήμα 2) Εισαγάγετε τη μονάδα NumPy.
import numpy as np
Βήμα 3) Χρησιμοποιήστε το np.array για να μετατρέψετε τη λίστα σε πίνακα
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']np_array = np.array(my_list)
Βήμα 4) Λάβετε το ευρετήριο του στοιχείου που θέλετε, χρησιμοποιώνταςnp.where ()
item_index = np.where(np_array == 'Guru')[0]
Ο τελικός κωδικός εργασίας με έξοδο έχει ως εξής:
import numpy as npmy_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']np_array = np.array(my_list)item_index = np.where(np_array == 'Guru')[0]print("Originallist ", my_list)print("Indexes for element Guru :", item_index)
Παραγωγή:
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0 3 6]
Χρησιμοποιώντας το more_itertools.locate () για να λάβετε το ευρετήριο ενός στοιχείου σε μια λίστα
Το more_itertools.locate () βοηθά στην εύρεση των ευρετηρίων του στοιχείου στη λίστα. Αυτή η ενότητα θα λειτουργήσει με την έκδοση 3.5+ της python. Το πακέτο more_itertools πρέπει πρώτα να εγκατασταθεί για να το χρησιμοποιήσει.
Ακολουθούν τα βήματα για να εγκαταστήσετε και να χρησιμοποιήσετε περισσότερα_itertools
Βήμα 1) Εγκαταστήστε περισσότερα_itertools χρησιμοποιώντας pip (python package manager). Η εντολή είναι
pip install more_itertools
Βήμα 2) Μόλις ολοκληρωθεί η εγκατάσταση, εισαγάγετε τη μονάδα εντοπισμού όπως φαίνεται παρακάτω
from more_itertools import locate
Τώρα μπορείτε να κάνετε χρήση του εντοπισμού λειτουργικής μονάδας σε μια λίστα όπως φαίνεται παρακάτω στο παράδειγμα:
from more_itertools import locatemy_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']print("Originallist : ", my_list)print("Indexes for element Guru :", list(locate(my_list, lambda x: x == 'Guru')))
Παραγωγή:
Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Περίληψη:
- Η μέθοδος list index () σάς βοηθά να βρείτε το ευρετήριο του δεδομένου στοιχείου. Αυτός είναι ο ευκολότερος και απλός τρόπος για να αποκτήσετε το ευρετήριο.
- Η μέθοδος list index () επιστρέφει το ευρετήριο του δεδομένου στοιχείου.
- Εάν το στοιχείο δεν υπάρχει στη λίστα, η μέθοδος ευρετηρίου () θα εμφανίσει σφάλμα, για παράδειγμα, το ValueError: 'Element' δεν βρίσκεται στη λίστα.
- Εκτός από την ενσωματωμένη μέθοδο λίστας, μπορείτε επίσης να χρησιμοποιήσετε άλλους τρόπους για να πάρετε το ευρετήριο, όπως βρόχο μέσω της λίστας, χρησιμοποιώντας κατανόηση λίστας, χρησιμοποιώντας αριθμητικό (), χρησιμοποιώντας φίλτρο κ.λπ.
- Χρησιμοποιώντας for-loop και while-loop για να λάβετε τα πολλαπλά ευρετήρια ενός δεδομένου στοιχείου.
- Για να λάβετε όλα τα ευρετήρια, ένας γρήγορος και απλός τρόπος είναι να χρησιμοποιήσετε την κατανόηση της λίστας στη λίστα.
- Οι κατανοητές λίστας είναι συναρτήσεις Python που χρησιμοποιούνται για τη δημιουργία νέων ακολουθιών.
- Συμβάλλουν στη μείωση των μεγαλύτερων βρόχων και διευκολύνουν την ανάγνωση και συντήρηση του κώδικα σας.
- Μπορείτε να κάνετε χρήση του αριθμητικού αριθμού για να βρείτε όλα τα ευρετήρια του στοιχείου σε μια λίστα.
- Η συνάρτηση Enumerate () είναι μια ενσωματωμένη συνάρτηση διαθέσιμη με το python. Παίρνει την είσοδο ως επαναλαμβανόμενο αντικείμενο (δηλαδή, ένα αντικείμενο που μπορεί να είναι βρόχο) και η έξοδος είναι ένα αντικείμενο με μετρητή σε κάθε στοιχείο.
- Η μέθοδος filter () φιλτράρει τη δεδομένη λίστα με βάση τη συνάρτηση που δίνεται.
- Η βιβλιοθήκη Numpy χρησιμοποιείται ειδικά για πίνακες. Μπορείτε να χρησιμοποιήσετε το NumPy για να λάβετε το ευρετήριο του στοιχείου που δίνεται στη λίστα.
- Το more_itertools.locate () είναι μια ακόμη βιβλιοθήκη python που βοηθά στην εύρεση των ευρετηρίων της λίστας που δίνεται.