Η συνάρτηση map () εφαρμόζει μια δεδομένη συνάρτηση σε κάθε στοιχείο μιας επανάληψης (λίστα, πλειάδα κ.λπ.) και επιστρέφει μια λίστα των αποτελεσμάτων.
Η σύνταξη του map()
είναι:
χάρτης (λειτουργία, επαναλαμβανόμενη,…)
Χάρτης () Παράμετρος
- συνάρτηση -
map()
περνά κάθε στοιχείο της επανάληψης σε αυτήν τη συνάρτηση. - iterable - επαναληπτικό που πρέπει να χαρτογραφηθεί
Μπορείτε να περάσετε περισσότερα από ένα επαναλαμβανόμενα στη map()
συνάρτηση.
Επιστροφή αξία από το χάρτη ()
Η map()
συνάρτηση εφαρμόζει μια δοθείσα σε συνάρτηση σε κάθε στοιχείο μιας επαναλαμβανόμενης και επιστρέφει μια λίστα με τα αποτελέσματα.
Η επιστρεφόμενη τιμή από το map()
(αντικείμενο χάρτη) μπορεί στη συνέχεια να μεταβιβαστεί σε συναρτήσεις όπως η λίστα () (για να δημιουργήσετε μια λίστα), το σετ () (για να δημιουργήσετε ένα σετ) και ούτω καθεξής.
Παράδειγμα 1: Εργασία του χάρτη ()
def calculateSquare(n): return n*n numbers = (1, 2, 3, 4) result = map(calculateSquare, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)
Παραγωγή
(16, 1, 4, 9)
Στο παραπάνω παράδειγμα, κάθε στοιχείο της πλειάδας τετράγωνο.
Καθώς map()
αναμένει μια λειτουργία να περάσει, οι λειτουργίες λάμδα χρησιμοποιούνται συνήθως κατά την εργασία με τις map()
συναρτήσεις.
Η συνάρτηση λάμδα είναι μια σύντομη συνάρτηση χωρίς όνομα. Επισκεφθείτε αυτήν τη σελίδα για να μάθετε περισσότερα σχετικά με τη λειτουργία Python lambda.
Παράδειγμα 2: Πώς να χρησιμοποιήσετε τη λειτουργία λάμδα με το χάρτη ();
numbers = (1, 2, 3, 4) result = map(lambda x: x*x, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)
Παραγωγή
(16, 1, 4, 9)
Δεν υπάρχει διαφορά στις λειτουργίες αυτού του παραδείγματος και του παραδείγματος 1 .
Παράδειγμα 3: Διαβίβαση πολλαπλών επαναληπτών στο χάρτη () Χρησιμοποιώντας το Lambda
Σε αυτό το παράδειγμα, προστίθενται αντίστοιχα στοιχεία δύο λιστών.
num1 = (4, 5, 6) num2 = (5, 6, 7) result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))
Παραγωγή
(9, 11, 13)