common python list methods with syntax
Το Tutorial εξηγεί τη σύνταξη και τη χρήση κοινών μεθόδων λίστας Python όπως προσθήκη στη λίστα, λίστα ταξινόμησης, ποπ, προσάρτηση, αντιγραφή, αφαίρεση, αντιστροφή κ.λπ .:
Οι λίστες Python δεν χρησιμοποιούνται μόνο για την αποθήκευση δεδομένων. Υπάρχουν ισχυρές δομές δεδομένων εάν χρησιμοποιούνται σωστά. Ωστόσο, δεν μπορούμε να τα χρησιμοποιήσουμε αποτελεσματικά εάν δεν γνωρίζουμε τις μεθόδους τους.
Αν και η Python έχει ορισμένες ενσωματωμένες συναρτήσεις που μπορούν να λειτουργήσουν σε λίστες, οι λίστες Python έχουν μεθόδους που μπορούν να χρησιμοποιηθούν για να λειτουργήσουν στο αντικείμενο της λίστας τόσο εντός όσο και εκτός τόπου.
=> Δείτε όλα τα εκπαιδευτικά προγράμματα Python εδώ
Τι θα μάθετε:
- Κοινές μέθοδοι λίστας Python
- συμπέρασμα
Κοινές μέθοδοι λίστας Python
Προτού ερευνήσουμε τις κοινές μεθόδους λίστας, είναι σημαντικό να κατανοήσουμε μερικά χαρακτηριστικά μιας λίστας Python.
- Μια λίστα Python είναι μια συλλογή από μηδενικά έως άπειρα (όσα μπορεί να επιτρέψει ο υπολογιστής σας) τύπων δεδομένων ( αριθμοί , Χορδές , booleans , πλειάδες , τόπος αγώνων , κλπ) που περιβάλλεται από αγκύλες με κάθε στοιχείο διαχωρισμένο με κόμμα (,).
- Μια λίστα Python είναι μια διέταξε , ευμετάβλητος ακολουθία και χρησιμοποιεί το αρίθμηση με βάση το μηδέν σύστημα δηλαδή όλα τα στοιχεία του αναγνωρίζονται μοναδικά από έναν αριθμό ευρετηρίου που ξεκινά από το 0 και τελειώνει στο n-1, όπου n είναι το μήκος της λίστας.
Έχοντας αυτό κατά νου, μπορούμε με σιγουριά να εξετάσουμε τις μεθόδους λίστας Python. Είναι σημαντικό να γνωρίζετε ότι η λίστα Python έχει πολλά μεθόδους και η Python έχει πολλές ενσωματωμένες μεθόδους για την επεξεργασία δεδομένων λίστας για διάφορους σκοπούς.
Σημείωση :Προχωρώντας προς τα εμπρός, όλα τα παραδείγματα σε αυτό το σεμινάριο θα εκτελούνται απευθείας από ένα κέλυφος Python, εκτός αν αναφέρεται διαφορετικά.
Μέθοδος προσθήκης
Πριν ξεκινήσετε να εκτελείτε μια λειτουργία σε μια λίστα, ίσως πρώτα να θέλουμε να προσθέσουμε δεδομένα σε αυτήν. Η λίστα Python έχει τις ακόλουθες κοινές μεθόδους για την προσθήκη στοιχείων στη λίστα της.
# 1) list.append (x)
ο προσαρτώ Η μέθοδος () λαμβάνει ένα στοιχείο ως όρισμα και το προσθέτει στο τέλος της λίστας.
Όπως φαίνεται παραπάνω, οι λίστες Python ταξινομούνται. Έτσι, η θέση κάθε στοιχείου σε μια λίστα είναι σημαντική. Εάν προσθέτουμε ένα στοιχείο σε μια λίστα και θέλουμε να είναι το τελευταίο στοιχείο σε αυτήν τη λίστα, τότε το προσάρτημα () είναι αυτό που χρειαζόμαστε.
Παράδειγμα 1 :Στον παρακάτω κώδικα, η λίστα μας περιέχει ένα όνομα (String) ως το πρώτο στοιχείο και ηλικία (αριθμός) ως το δεύτερο στοιχείο. Θέλουμε να προσθέσουμε ένα τρίτο στοιχείο Μισθός (αριθμός) στη λίστα, όπως έχουμε
list(name, age, salary)
Ακολουθεί μια αναλυτική παρουσίαση ενός κελύφους Python.
>>> name = 'Enow Kevin' # define a name >>> age = 30 # define an age >>> details = (name, age) # create a list with name and age >>> details ('Enow Kevin', 30) >>> salary = 165000 # define a salary >>> details.append(salary) # add the salary to the end of the list >>> details ('Enow Kevin', 30, 165000) >>>
list.append (x είναι παρόμοιο με προς την (Λεν ( προς την ):) = (x).
Εξετάστε το παρακάτω παράδειγμα:
Ας προσθέσουμε ένα τέταρτο στοιχείο γένος (Συμβολοσειρά) στη λίστα λεπτομερειών που ορίζεται παραπάνω.
>>> gender = 'Male' # define a gender >>> details(len(details):) = (gender) # add gender to the end of the list >>> details ('Enow Kevin', 30, 165000, 'Male') >>>
Σημείωση :Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε Λέν () που είναι μια ενσωματωμένη λειτουργία Python που μπορεί να λειτουργήσει σε μια λίστα.
# 2) list.extend (επαναλαμβανόμενο)
επεκτείνω (επαναλαμβανόμενο) παίρνει ένα επαναληπτικό ως επιχείρημα, και προσαρτήστε κάθε στοιχείο σε αυτό επαναλαμβανόμενο στη λίστα.
Αυτή η μέθοδος χρησιμοποιεί προσαρτώ( κάτω από την κουκούλα. Αυτή η μέθοδος είναι εξαιρετική εάν έχουμε μια συλλογή στοιχείων που θέλουμε να προσθέσουμε κάθε στοιχείο σε μια άλλη λίστα.
Παράδειγμα 2 :Ας υποθέσουμε ότι έχουμε δύο ακαδημαϊκούς βαθμούς μαθητή βαθμός Επιστήμη και βαθμός τέχνης και αποφασίζουμε να κάνουμε μια κοινή λειτουργία στους βαθμούς. Ένας τρόπος θα είναι να τους ενώσετε πρώτα.
Παρακάτω δίνεται μια αναδρομή ενός κελύφους Python.
>>> gradeScience = (4,3,9,10) # grades in science >>> gradeArt = (9,11,7,5) # grades in art >>> gradeArt (9, 11, 7, 5) >>> gradeArt.extend(gradeScience) # join grades >>> gradeArt # we can now perform the operation on the joined grades (9, 11, 7, 5, 4, 3, 9, 10)
Το ίδιο πράγμα μπορεί να επιτευχθεί με το « προσαρτώ() σε ένα βρόχος' . Δεδομένου ότι το επεκτείνω () Η μέθοδος παίρνει ένα επαναληπτικό και προσθέτει κάθε στοιχείο σε αυτό επαναλαμβανόμενο στη λίστα, μπορούμε να χρησιμοποιήσουμε ένα για βρόχο για να δείξει πώς λειτουργεί.
def extend_loop(extender, extended): '''for each item in the extender list, append the item into the extended list''' for item in extender: extended.append(item) if __name__ == '__main__': gradeScience = (4,3,9,10) # grades in science gradeArt = (9,11,7,5) # grades in art print('gradeArt: {} before extended'.format(gradeArt)) # join gradeScience and gradeArt into gradeArt extend_loop(gradeScience, gradeArt) print('gradeArt: {} after extended'.format(gradeArt))
Παραγωγή
Είναι σημαντικό να γνωρίζετε τη διαφορά μεταξύ προσάρτημα (x ) και επέκταση (επαναλαμβανόμενο) .
Διαφορά μεταξύ των μεθόδων λίστας Python: προσάρτηση και επαναληψιμότητα.
# | προσάρτημα (x) | επέκταση (επαναλαμβανόμενο) |
---|---|---|
1 | Παίρνει ένα επιχείρημα και θα μπορούσε να είναι επαναληπτικό | Λαμβάνει ένα επιχείρημα και πρέπει να είναι επαναληπτικό |
δύο | Προσθέτει ένα στοιχείο σε μια λίστα | Προσθέτει κάθε στοιχείο του iterable σε μια λίστα. |
Παράδειγμα 3 :Για να δείτε ξεκάθαρα τη διαφορά μεταξύ προσάρτησης και επέκτασης, ας εξετάσουμε αυτό το παράδειγμα. Παρατηρούμε ότι και τα δύο listApp και listExt πάρτε ένα επαναληπτικό ως επιχείρημα, αλλά αυτό που αλλάζει είναι το αποτέλεσμα.
>>> listApp = () # empty list >>> listExt = () # empty list >>> listApp.append((1,2,3)) # append an iterable >>> listExt.extend((1,2,3)) # extend an iterable >>> listApp # check output ((1, 2, 3)) >>> listExt # check output (1, 2, 3)
Μέθοδος Python προσαρτώ() πήρε το επαναληπτικό, το θεωρούσε ως αντικείμενο και το πρόσθεσε στο τέλος της λίστας ενώ η μέθοδος Python επεκτείνω() πήρε το iterable και πρόσθεσε κάθε στοιχείο αυτού του iterable στη λίστα.
# 3) list.insert (i, x)
Η μέθοδος λίστας Python εισάγετε () λαμβάνει δύο επιχειρήματα (θέση, στοιχείο) και εισάγει το στοιχείο στη δεδομένη θέση στη λίστα.
Η μέθοδος εισάγετε () είναι χρήσιμο όταν θέλουμε να προσθέσουμε στοιχεία σε μια λίστα και να ελέγξουμε πού ακριβώς θέλουμε να προστεθούν τα στοιχεία στη λίστα. Διαφορετικός προσαρτώ() και επεκτείνω() που προσθέτουν στοιχεία στο τέλος μιας λίστας, εισάγετε () μας επιτρέπει να προσθέσουμε αντικείμενα σε όποια θέση θέλουμε.
Παράδειγμα 4 :Ας πούμε ότι έχουμε μια λίστα ονομάτων κατά σειρά αριστείας και αργότερα ανακαλύπτουμε ότι αφήσαμε ένα όνομα και το όνομα υποτίθεται ότι πρέπει να προστεθεί στη λίστα πριν από ένα δεδομένο όνομα. Σε αυτήν την περίπτωση, και οι δύο προσαρτώ() και επεκτείνω() δεν θα βοηθήσουμε καθώς θέλουμε να προσθέσουμε το στοιχείο σε μια δεδομένη θέση.
Η λύση θα είναι να λάβουμε τη θέση ευρετηρίου του ονόματος πριν από την οποία θέλουμε να προσθέσουμε το νέο μας όνομα και χρήση εισάγετε() για να το προσθέσετε σε αυτήν τη θέση.
>>> names = ('kevin','john','petter','tony','luke','andrew')# list of names >>> new_name = 'enow' # new name to be insert into the list of names >>> given_name = 'tony' # name before which to insert our new name >>> idx_given_name = names.index(given_name) # get index of given name >>> idx_given_name 3 >>> names.insert(idx_given_name, new_name) # insert new name >>> names ('kevin', 'john', 'petter', 'enow', 'tony', 'luke', 'andrew')
Σημείωση: Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τη μέθοδο λίστας Python δείκτης () για να λάβετε τη θέση ευρετηρίου ενός αντικειμένου από μια λίστα ( περισσότερα για αυτό αργότερα ).
Η εννοια του εισάγετε (ευρετήριο, x) είναι πολύ σημαντικό να κατανοηθεί. Το πρώτο επιχείρημα είναι το θέση ευρετηρίου του στοιχείου πριν από το οποίο θα εισαχθεί.
Το οποίο σημαίνει ότι λίστα Το .insert (0, x) θα εισαγάγει το x μπροστά από το στοιχείο στο ευρετήριο 0 και λίστα . εισάγετε (μόνο ( λίστα ), Χ ) θα εισαγάγει το x στο τέλος της λίστας (παρόμοιο με το list.append (x)) πριν από τη θέση στο ευρετήριο Λέν (λίστα) (αυτό το ευρετήριο δεν υπάρχει για καμία λίστα)
Μέθοδος αφαίρεσης
Στο Python, όσο μπορούμε να προσθέσουμε στοιχεία σε μια λίστα, οι λίστες Python μας επιτρέπουν επίσης να αφαιρούμε ή να διαγράφουμε στοιχεία από λίστες.
# 1) list.pop ((i))
ο ποπ () Η μέθοδος αφαιρεί και επιστρέφει ένα στοιχείο από μια λίστα. Αυτή η μέθοδος μπορεί να πάρει μια προαιρετική τιμή ευρετηρίου ως όρισμα (αντιπροσωπεύεται από την αγκύλη γύρω από το i στην υπογραφή της μεθόδου που δηλώνει «προαιρετικό» και όχι μια λίστα), η οποία υποδηλώνει τη θέση του ευρετηρίου από το σημείο κατάργησης ενός στοιχείου.
Εάν δεν δοθεί κανένα, τότε προεπιλογή στο -1, δηλαδή το τελευταίο στοιχείο της λίστας θα αφαιρεθεί και θα επιστραφεί.
Παράδειγμα 5 :Δεδομένης της παρακάτω λίστας αυτοκινήτων, μπορούμε να αποφασίσουμε να αφαιρέσουμε στοιχεία από αυτήν τη λίστα σε οποιαδήποτε θέση ευρετηρίου θέλουμε, χάρη στο ποπ ()
>>> cars = ('Toyota','Audi','BMW','Bugatti','Bently','Aston Martin') #cars >>> cars ('Toyota', 'Audi', 'BMW', 'Bugatti', 'Bently', 'Aston Martin') >>> toyota = cars.pop(0) # remove and return car at index 0 >>> cars ('Audi', 'BMW', 'Bugatti', 'Bently', 'Aston Martin') >>> toyota 'Toyota' >>> bugatti = cars.pop(2) # remove and return car at index 2 >>> cars ('Audi', 'BMW', 'Bently', 'Aston Martin') >>> bugatti 'Bugatti' >>> aston_martin = cars.pop() # remove and return the last car in the list(at index -1) >>> cars ('Audi', 'BMW', 'Bently') >>> aston_martin 'Aston Martin'
# 2) list.remove (x)
Η μέθοδος λίστας Python αφαίρεση (x) αφαιρεί την πρώτη εμφάνιση ενός στοιχείου που είναι ίσο με x.
Η μέθοδος αφαιρώ() είναι χρήσιμο όταν θέλουμε να καταργήσουμε ένα στοιχείο από μια λίστα, αλλά δεν μας ενδιαφέρει το στοιχείο και δεν γνωρίζουμε πού βρίσκεται ακριβώς στη λίστα.
Παράδειγμα 6 :Έχουμε μια λίστα βιβλίων και θέλουμε να καταργήσουμε ένα συγκεκριμένο βιβλίο με το όνομα από τη λίστα, καθώς δεν το χρειαζόμαστε πια.
>>> books = ('python for beginners','python in a nutshell','python in action') # list of books >>> books ('python for beginners', 'python in a nutshell', 'python in action') >>> book_to_remove = 'python in a nutshell' # book to be removed >>> books.remove(book_to_remove) # remove book >>> books ('python for beginners', 'python in action')
Σημείωση: Εάν ένα αντικείμενο έχει δοθεί σε αφαιρώ() ως επιχείρημα, αλλά δεν υπάρχει στη λίστα, α Σφάλμα Value αυξάνεται. Έτσι, αυτή η μέθοδος πρέπει πάντα να καλείται μέσα σε ένα δοκιμάστε-εκτός να χειριστεί την εξαίρεση.
Μπορούμε να δούμε μερικές διαφορές μεταξύ των μεθόδων ποπ () και αφαιρώ() όπως φαίνεται παρακάτω:
# | ποπ () | αφαιρώ() |
---|---|---|
1 | Αποδέχεται ένα προαιρετικό όρισμα και θα πρέπει να είναι μια θέση ευρετηρίου του στοιχείου που θα αφαιρεθεί. Εάν το ευρετήριο είναι εκτός εύρους, αυξάνεται το IndexError | Αποδέχεται ένα όρισμα και πρέπει να είναι το στοιχείο που πρέπει να καταργηθεί. Εάν το στοιχείο δεν βρίσκεται στη λίστα, αυξάνεται το ValueError |
δύο | Καταργεί το στοιχείο από τη λίστα και το επιστρέφει. | Καταργεί το στοιχείο από τη λίστα αλλά δεν το επιστρέφει. |
# 3) list.clear ()
Μέθοδος λίστας Python Σαφή () καταργεί όλα τα στοιχεία από τη λίστα, καθιστώντας έτσι άδειο. Δεν χρειάζεται επιχειρήματα.
Αυτή η μέθοδος είναι χρήσιμη για την εκ νέου αντιστοίχιση του αντικειμένου λίστας με νέες τιμές.
Παράδειγμα 7 :Έχουμε μια λίστα που περιέχει μια συλλογή ονομάτων, αλλά θέλουμε να αντικαταστήσουμε τα ονόματα με νέα ονόματα. Σε αυτήν την περίπτωση, πρώτα καθαρίζουμε τα προηγούμενα ονόματα κάνοντας κενό το αντικείμενο της λίστας και μετά προσθέτουμε τα νέα μας ονόματα με μία από τις διαφορετικές μεθόδους λίστας Python για μια προσθήκη που είδαμε παραπάνω.
>>> names = ('enow','kevin','eyong') # our collection of names >>> names.clear() # clear the list object >>> names () >>> names.extend(('ayamba','derrick','fred')) # add new names with the extend() method >>> names ('ayamba', 'derrick', 'fred')
Σημείωση :Μπορούμε να επιτύχουμε το ίδιο πράγμα με του λίστα(:).
Πολλοί μπορεί αναμφισβήτητα να το λένε αντί να χρησιμοποιούν Σαφή (), γιατί να μην εκχωρήσουμε εκ νέου τη λίστα με μια κενή λίστα όπως αυτή
>>> a = (4,5,3) # list object containing numbers >>> a= () # re-assign to an empty list >>> a ()
Λοιπόν εδώ είναι το πρόβλημα με αυτό. Εάν έχετε δύο μεταβλητές ( προς την και σι ) που παραπέμπουν σε ένα αντικείμενο λίστας ((4,5,3)), καλώντας καθαρό () σε οποιαδήποτε από τις μεταβλητές (ας πούμε προς την ) θα αφαιρέσει στοιχεία από αυτό το αντικείμενο λίστας.
Ωστόσο, εάν εκχωρήσετε εκ νέου οποιαδήποτε από τις μεταβλητές (ας πούμε προς την ) με μια κενή λίστα, τότε αυτή που ανατέθηκε εκ νέου ( προς την ) δεν θα αναφέρει πλέον το ίδιο αντικείμενο λίστας με σι .
>>> a = (4,5,3) # define a list object with numbers >>> b = a # assign 'a' to a new variable 'b' >>> b (4, 5, 3) >>> a = () # re-assign 'a' to an empty list. This changes its referenced object >>> a () >>> b # 'b' doesn't change because it doesn't reference the same list object as 'a' (4, 5, 3)
Μέθοδοι ανάλυσης
Τις περισσότερες φορές, θέλουμε να γνωρίζουμε και να κατανοούμε αντικείμενα στο αντικείμενο της λίστας μας. Η λίστα Python έχει μερικές μεθόδους που μπορούμε να χρησιμοποιήσουμε για να κατανοήσουμε τα στοιχεία της.
# 1) list.index (x (, έναρξη (, τέλος)))
Η μέθοδος λίστας Python δείκτης (x) επιστρέφει ένα μηδενικό ευρετήριο στη λίστα του πρώτου αντικειμένου του οποίου η τιμή είναι ίση με x. Χρειάζεται ένα υποχρεωτικό και δύο προαιρετικά επιχειρήματα. Το πρώτο όρισμα (x) αντιπροσωπεύει το στοιχείο που θέλουμε να βρούμε το ευρετήριό του.
pl sql ερωτήσεις συνέντευξης με βάση το σενάριο
Τα δύο τελευταία επιχειρήματα (έναρξη, τέλος ) προσδιορίστε ένα ευρετήριο έναρξης και λήξης (αποκλειστικό) από το οποίο θα κάνετε αναζήτηση. Σε αντίθεση με άλλες γλώσσες προγραμματισμού όπως το JavaScript όπου η ισοδύναμη μέθοδος του ευρετήριο () επιστρέφει -1 όταν δεν υπάρχει τέτοιο στοιχείο, η μέθοδος λίστας Python δείκτης () αυξάνει ένα ValueError αντ 'αυτού.
Παράδειγμα 8 :Αναφορά Παράδειγμα 4 όπου χρησιμοποιήσαμε δείκτης () για να λάβετε τη θέση ευρετηρίου ενός ονόματος σε μια λίστα ονομάτων. Σε αυτό το παράδειγμα 8, θα δούμε πώς να χρησιμοποιήσουμε τα προαιρετικά ορίσματα για να περιορίσουμε την αναζήτηση σε μια συγκεκριμένη ακολουθία της λίστας.
>>> fruits = ('Apples','Avocados','Eggfruit','Apples','Cantaloupe','Cucumbers') # list of fruits >>> fruits.index('Apples',1,3) # find index of 'Apples' from index 1 to index 3(exclusive) Traceback (most recent call last): File '', line 1, in ValueError: 'Apples' is not in list >>> fruits.index('Apples',1,4) # find index of 'Apples' from index 1 to index 4(exclusive) 3 >>> fruits.index('Cucumbers',3) # find index of 'Cucumbers' from index 3 to end of list. 5
# 2) list.count (x)
Η μέθοδος λίστας Python μετρώ (x) χρησιμοποιείται για να προσδιορίσει πόσες φορές ένα δεδομένο στοιχείο x εμφανίζεται σε μια λίστα.
Διαφορετικός σκηνικά() , Οι λίστες Python μπορούν να κρατήσουν διπλά στοιχεία, εάν μας ενδιαφέρει να γνωρίζουμε αυτά τα αντίγραφα και να προσδιορίσουμε πόσες φορές ένα στοιχείο αντιγράφεται, τότε μετρώ () είναι ο τρόπος να πάτε.
Παράδειγμα 9 : Ας πούμε ότι έχουμε ένα αντικείμενο λίστας που περιέχει τα ονόματα των γερουσιαστών βάσει των ψήφων τους. Όσο περισσότερο ψηφίζεται μια γερουσία, τόσο περισσότερο εμφανίζεται το όνομά της στο αντικείμενο λίστας. Τώρα, θέλουμε να μάθουμε πόσες ψήφους έχει μια συγκεκριμένη γερουσία.
>>> senate_votes = ('Tammy','John','Tammy','Tammy','Thomas','Maria','Maria') # list of senate names based on their votes >>> senate_votes ('Tammy', 'John', 'Tammy', 'Tammy', 'Thomas', 'Maria', 'Maria') >>> tammy_votes = senate_votes.count('Tammy') # get tammy's vote count >>> tammy_votes 3 >>> thomas_votes = senate_votes.count('Thomas') # get thomas's vote count >>> thomas_votes 1 >>> mike_votes = senate_votes.count('Mike') # get mike's vote count >>> mike_votes 0
Σημείωση :Η μέθοδος λίστας Python μετρώ () επιστρέφει μηδέν (0) εάν το στοιχείο δεν εμφανίζεται στη λίστα.
# 3) list.sort (κλειδί = Καμία, αντίστροφη = Λάθος)
Η μέθοδος λίστας Python είδος () ταξινομεί τα δεδομένα της λίστας. Χρειάζεται σε δύο ορίσματα λέξεων-κλειδιών.
- κλειδί( προεπιλογές σε Κανένα ) : Καθορίζει μια συνάρτηση ενός ορίσματος που χρησιμοποιείται για την εξαγωγή στοιχείων από τη λίστα και τα προετοιμάζει για σύγκριση. Για παράδειγμα, εάν έχουμε μια λίστα θετικών αριθμών, αλλά θέλουμε τη λειτουργία ταξινόμησης να ταξινομήσει τις αρνητικές τιμές τους, μπορούμε να χρησιμοποιήσουμε αυτό το κλειδί για να το επιτύχουμε.
- ΑΝΤΙΣΤΡΟΦΗ( προεπιλογές σε False ) : Είναι μια δυαδική τιμή και αν οριστεί σε True, θα ταξινομηθεί σε φθίνουσα σειρά. Η τιμή του είναι False από προεπιλογή και ως εκ τούτου ταξινομείται σε αύξουσα σειρά.
Παράδειγμα 10 :Έχουμε μια λίστα αριθμών και θέλουμε να γνωρίζουμε τον μεγαλύτερο αριθμό σε αυτήν τη λίστα.
>>> numbers = (4,34,6,1,0, 9,33,82,2) # list of numbers >>> numbers (4, 34, 6, 1, 0, 9, 33, 82, 2) >>> sort_numb = numbers.copy() # make a copy to work with >>> sort_numb.sort(reverse=True) # sort in descending order >>> sort_numb (82, 34, 33, 9, 6, 4, 2, 1, 0) >>> sort_numb(0) # get the first item which is the largest number 82
Σημείωση: Χρησιμοποιήσαμε τη μέθοδο λίστας Python αντίγραφο () για να δημιουργήσετε ένα ρηχό αντίγραφο της λίστας μας ( Περισσότερα για αυτό αργότερα).
Παράδειγμα 11: Για να δείξετε τη χρήση του κλειδιού, ας ταξινομήσουμε την αρνητική τιμή των στοιχείων στη λίστα.
>>> numbers # list of num (4, 34, 6, 1, 0, 9, 33, 82, 2) >>> sort_neg_numb = numbers.copy() # make a copy to work with >>> sort_neg_numb (4, 34, 6, 1, 0, 9, 33, 82, 2) >>> sort_neg_numb.sort(key=lambda x: -x, reverse=True) # sort in descending order the negative value of each item. >>> sort_neg_numb (0, 1, 2, 4, 6, 9, 33, 34, 82) >>>
Από την έξοδο παραπάνω, βλέπουμε ότι αν και ταξινομήσαμε σε φθίνουσα σειρά, η έξοδος είναι σε αύξουσα σειρά. Αυτό οφείλεται στο γεγονός ότι η συνάρτηση λάμδα μας έκανε βασικά έτσι ώστε η σύγκριση έγινε στις αρνητικές τιμές κάθε στοιχείου στη λίστα.
Σημείωση :Δεδομένου ότι το κλειδί καθορίζει μια συνάρτηση ενός ορίσματος, χρησιμοποιήσαμε ένα έκφραση λάμδα για να ορίσετε μια ανώνυμη συνάρτηση. Το μόνο που κάνει είναι, επιστρέφει την αρνητική τιμή κάθε στοιχείου στη λίστα.
Άλλες μέθοδοι
Σε αυτήν την ενότητα, θα εξετάσουμε μερικές μεθόδους λίστας Python που ενδέχεται να μην εμπίπτουν σε καμία από τις κατηγορίες που περιγράφονται παραπάνω.
# 1) list.copy ()
Η μέθοδος Python αντίγραφο () επιστρέφει a ρηχός αντίγραφο της λίστας. Ρηχό σημαίνει ότι δημιουργεί ένα αντίγραφο μόνο του πρώτου επιπέδου μιας λίστας ( περισσότερα για αυτό αργότερα ).
Αυτή η μέθοδος είναι χρήσιμη για τη διατήρηση των αρχικών τιμών λίστας προτού τροποποιήσετε τη λίστα. Όπως είδαμε Παράδειγμα 7 παραπάνω, απλώς εκχωρώντας μια μεταβλητή που παραπέμπει ένα αντικείμενο λίστας σε άλλη μεταβλητή δεν δημιουργεί νέο αντικείμενο. Αντίθετα, οι δύο μεταβλητές θα αναφέρουν το ίδιο αντικείμενο.
Ως εκ τούτου, η αλλαγή ενός θα προκαλέσει την αλλαγή του άλλου.
Παράδειγμα 12 :Παραδείγματα αναφοράς 10 και έντεκα για να δείτε πώς χρησιμοποιήθηκε αυτή η μέθοδος.
Σημείωση :Είναι ενδιαφέρον να γνωρίζουμε ότι, το ίδιο μπορεί να επιτευχθεί με τεμαχισμός ( προς την (:))
Παράδειγμα 13 :Για να κατανοήσουμε καλύτερα την έννοια του ρηχός στην περιγραφή του αντίγραφο (), εξετάστε το παρακάτω παράδειγμα.
>>> list1 = (1,2,3) # object list 1 >>> list2 = (0,list1) # object list 2 containing reference to list 1 >>> list2 (0, (1, 2, 3)) >>> list2_copy = list2.copy() # make a shallow copy of list 2 >>> list2_copy (0, (1, 2, 3)) >>> list2(0) = -1 # modify list 2's first level item >>> list2 (-1, (1, 2, 3)) >>> list2_copy # list 2's copy doesn't change (0, (1, 2, 3)) >>> list1(0) = 'a' # modify list 1 >>> list1 ('a', 2, 3) >>> list2 # list 2 changes since it has reference to list 1 (-1, ('a', 2, 3)) >>> list2_copy # list 2's copy changes because the nested list ‘list 1’ wasn't copied. (0, ('a', 2, 3)) >>>
Το παραπάνω παράδειγμα δείχνει ότι η ρηχή αντιγραφή σημαίνει ότι κάθε ένθετο που μπορεί να επαναληφθεί σε μια λίστα δεν θα αντιγραφεί.
# 2) list.reverse ()
Η μέθοδος λίστας Python ΑΝΤΙΣΤΡΟΦΗ () αντιστρέφει τα στοιχεία μιας λίστας στη θέση τους. Δεν παίρνει κανένα επιχείρημα.
Αυτή η μέθοδος είναι χρήσιμη όταν θέλουμε να αλλάξουμε τη σειρά είτε σε αύξουσα είτε φθίνουσα μετά την ταξινόμηση.
Παράδειγμα 14 :Έχουμε ταξινομήσει τη λίστα μας με αύξουσα σειρά και, στη συνέχεια, θέλουμε να πάρουμε την φθίνουσα σειρά της ταξινομημένης λίστας. Θα μπορούσαμε επίσης να χρησιμοποιήσουμε τη μέθοδο λίστας Python είδος () και να θέσει ΑΝΤΙΣΤΡΟΦΗ στο True, ή θα μπορούσαμε να χρησιμοποιήσουμε το ΑΝΤΙΣΤΡΟΦΗ () μέθοδος λίστας όπως φαίνεται παρακάτω.
>>> numbs = (3,4,1,8,0,44,5) # our list of disordered numbers >>> numbs (3, 4, 1, 8, 0, 44, 5) >>> numbs.sort() # sort, in ascending by default >>> numbs (0, 1, 3, 4, 5, 8, 44) >>> numbs.reverse() # reverse to arrange in descending order >>> numbs (44, 8, 5, 4, 3, 1, 0) >>>
Συχνές ερωτήσεις
Ε # 1) Πώς μπορώ να αφαιρέσω κάτι από μια λίστα στο Python;
Απάντηση: Μπορούμε να αφαιρέσουμε στοιχεία από μια λίστα με διάφορους τρόπους χρησιμοποιώντας τις μεθόδους λίστας Python και την ενσωματωμένη συνάρτηση Python del.
- Αφαιρέστε τη χρήση list.remove (x) : Αυτό θα αφαιρέσει το στοιχείο x από τη λίστα.
>>> a = (4, 3, 6, 1) # our list of numbers >>> a (4, 3, 6, 1) >>> a.remove(3) # remove item '3' from the list >>> a (4, 6, 1) >>>
- Αφαιρέστε τη χρήση list.pop ((i)) : Χρησιμοποιείται για τη διαγραφή και επιστροφή ενός αντικειμένου σε οποιαδήποτε θέση της λίστας. Εάν δεν δοθεί μια θέση ευρετηρίου, διαγράφει το στοιχείο στο τέλος της λίστας.
>>> a = (4, 3, 6, 1) # our list of numbers >>> a.pop() # remove the last item in the list 1 >>> a (4, 3, 6) >>> a.pop(1) # remove the item at index position 1 3 >>> a (4, 6) >>>
- Αφαιρέστε τη χρήση list.clear () : Αυτό θα καταργήσει όλα τα στοιχεία της λίστας.
>>> a = (4, 3, 6, 1) # list of numbers >>> a (4, 3, 6, 1) >>> a.clear() # delete all items >>> a ()
- Αφαιρέστε τη χρήση του : Η ενσωματωμένη λειτουργία del Python μπορεί να χρησιμοποιηθεί για τη διαγραφή στοιχείων από τη λίστα.
>>> a = (4, 3, 6, 1) # list of numbers >>> a (4, 3, 6, 1) >>> del a(0) # delete item at index 0 >>> a (3, 6, 1) >>> del a(1) # delete item at index 1 >>> a (3, 1) >>> del a(:) # delete all items. Same as clear() >>> a () >>>
Ε # 2) Πώς ταξινομείτε μια λίστα στο Python;
Απάντηση: Για να ταξινομήσετε λίστες στο Python, μπορούμε να χρησιμοποιήσουμε τη μέθοδο λίστας Python είδος (). Αυτή η μέθοδος ταξινομεί τη λίστα στη θέση της και παίρνει δύο κλειδί ορίσματα λέξεων-κλειδιών και ΑΝΤΙΣΤΡΟΦΗ .
ο ΑΝΤΙΣΤΡΟΦΗ η λέξη-κλειδί μπορεί να ρυθμιστεί για ταξινόμηση με αύξουσα ή φθίνουσα σειρά. Εναλλακτικά, μπορούμε να χρησιμοποιήσουμε την ενσωματωμένη λειτουργία της Python ταξινομημένο (). Ωστόσο, αυτό δεν ταιριάζει στη θέση του.
Ε # 3) Μπορείτε να προσθέσετε πολλά στοιχεία σε μια λίστα στο Python;
Απάντηση: Μπορούμε να προσθέσουμε πολλά στοιχεία σε μια λίστα χρησιμοποιώντας τη μέθοδο λίστας Python append () στο a βρόχος , όπου πραγματοποιούμε επανάληψη και προσαρτάμε κάθε στοιχείο στη λίστα.
def append_loop(): list1 = (0,1,2,3) # list 1 list2 = (4,5,6,7) # list 2 # iterate through ‘list 2’ using ‘for loop’, and append each item to list1 for item in list2: list1.append(item) print('Concatenated list is {}'.format(list1)) if __name__ == '__main__': append_loop()
Παραγωγή
Μπορούμε επίσης να προσθέσουμε πολλά στοιχεία χρησιμοποιώντας τη μέθοδο λίστας Python επεκτείνω (). Λειτουργεί σαν ' προσαρτώ () σε ένα για βρόχο 'Όπως είδαμε παραπάνω.
>>> list1 = (0,1,2,3) # list 1 >>> list2 = (4,5,6,7) # list 2 >>> list1.extend(list2) # append each item in list2 into list1 >>> list1 (0, 1, 2, 3, 4, 5, 6, 7) >>>
Εναλλακτικά, θα μπορούσαμε να συνενώσουμε χρησιμοποιώντας τον τελεστή +. Ωστόσο, αυτό δεν λειτουργεί στη θέση . Αυτό σημαίνει ότι θα επιστρέψει τη συνδυασμένη λίστα, ενώ οι αρχικές λίστες παραμένουν αμετάβλητες.
>>> list1 = (0,1,2,3) # list 1 >>> list2 = (4,5,6,7) # list 2 >>> list3 = list1 + list2 # concatenate using the + operator >>> list3 (0, 1, 2, 3, 4, 5, 6, 7) >>>
συμπέρασμα
Σε αυτό το σεμινάριο, περάσαμε μερικές κοινές μεθόδους λίστας Python όπως προσάρτηση, επέκταση, εισαγωγή, ποπ, αφαίρεση, διαγραφή, ευρετήριο, μέτρηση, αντιγραφή, και ΑΝΤΙΣΤΡΟΦΗ .
Είδαμε επίσης πολλά παραδείγματα για τον τρόπο εφαρμογής αυτών των μεθόδων σε διάφορες καταστάσεις.
=> Επισκεφθείτε εδώ για να δείτε τη σειρά προπόνησης Python για όλους
Συνιστώμενη ανάγνωση
- Εκμάθηση Python DateTime με παραδείγματα
- Λειτουργίες λίστας Python - Εκμάθηση με παραδείγματα
- Εκμάθηση Python για αρχάριους (ΔΩΡΕΑΝ Κατάρτιση Python)
- Εκμάθηση Python Advanced List (Ταξινόμηση λίστας, Αντίστροφη, Ευρετήριο, Αντιγραφή, Συμμετοχή, Άθροισμα)
- Μέθοδοι λίστας Java - Ταξινόμηση λίστας, περιέχει, προσθήκη λίστας, κατάργηση λίστας
- Μεταβλητές Python
- Λίστα Python - Δημιουργία, πρόσβαση, φέτα, προσθήκη ή διαγραφή στοιχείων