Ο χάρτης Python () εφαρμόζει μια συνάρτηση σε όλα τα στοιχεία ενός επαναληπτικού που δίνεται ως εισαγωγή Ένας επαναληπτικός παράγοντας, για παράδειγμα, μπορεί να είναι μια λίστα, μια πλειάδα, ένα σύνολο, ένα λεξικό, μια συμβολοσειρά και επιστρέφει ένα αντικείμενο επαναληπτικού χάρτη. Ο χάρτης Python () είναι μια ενσωματωμένη συνάρτηση.
Σε αυτό το σεμινάριο, θα μάθετε:
- Σύνταξη:
- Πώς λειτουργεί η λειτουργία map ();
- Χρήση χάρτη () με ενσωματωμένες λειτουργίες Python
- Χρήση χάρτη () με συμβολοσειρά ως επαναληπτικό
- Χρήση χάρτη () με λίστα των αριθμών
- Χρήση χάρτη () με Tuple
- Χρήση χάρτη () με λεξικό
- Χρήση χάρτη () με το Σετ
- Χρήση χάρτη () με λειτουργία Lambda
- Χρήση πολλαπλών επαναληπτών μέσα στη λειτουργία χάρτη ()
Σύνταξη:
map(function, iterator1,iterator2… iteratorN)
Παράμετροι
Εδώ είναι δύο σημαντικά
- συνάρτηση: Μια υποχρεωτική συνάρτηση που πρέπει να δοθεί στο χάρτη, η οποία θα εφαρμοστεί σε όλα τα στοιχεία που είναι διαθέσιμα στον επαναληπτή.
- iterator: Ένα επαναλαμβανόμενο υποχρεωτικό αντικείμενο. Μπορεί να είναι μια λίστα, μια πλειάδα κ.λπ. Μπορείτε να μεταβιβάσετε πολλά αντικείμενα επαναληπτικού στη λειτουργία χαρτογράφησης ().
Αξία επιστροφής
Η συνάρτηση map () πρόκειται να εφαρμόσει τη δεδομένη συνάρτηση σε όλα τα στοιχεία μέσα στον επαναληπτή και να επιστρέψει ένα επαναλαμβανόμενο αντικείμενο χάρτη, δηλαδή μια πλειάδα, μια λίστα κ.λπ.
Πώς λειτουργεί η λειτουργία map ();
Η συνάρτηση map () παίρνει δύο εισόδους ως συνάρτηση και ένα αντικείμενο επαναληπτικό Η συνάρτηση που δίνεται στον χάρτη () είναι μια φυσιολογική συνάρτηση και θα επαναλάβει όλες τις τιμές που υπάρχουν στο επαναλαμβανόμενο αντικείμενο.
Για παράδειγμα, θεωρήστε ότι έχετε μια λίστα αριθμών και θέλετε να βρείτε το τετράγωνο καθενός από τους αριθμούς.
Η λήψη της παραγωγής, χρειαζόμαστε τη συνάρτηση που θα επιστρέψει το τετράγωνο του δεδομένου αριθμού. Η συνάρτηση θα έχει ως εξής:
def square(n):return n*n
Η λίστα των αντικειμένων που θέλουμε να βρούμε το τετράγωνο έχει ως εξής:
my_list = [2,3,4,5,6,7,8,9]
Τώρα ας χρησιμοποιήσουμε την ενσωματωμένη συνάρτηση map () python για να πάρουμε το τετράγωνο καθενός από τα στοιχεία στη λίστα my_list.
Ο τελικός κωδικός έχει ως εξής:
def square(n):return n*nmy_list = [2,3,4,5,6,7,8,9]updated_list = map(square, my_list)print(updated_list)print(list(updated_list))
Παραγωγή:
Η έξοδος της λειτουργίας χάρτη (), όπως φαίνεται στην έξοδο, είναι ένα αντικείμενο χάρτη που εμφανίζεται στην οθόνη ως <αντικείμενο χάρτη στο 0x0000002C59601748>.
Θα χρειαστεί να επαναλάβετε την έξοδο από το χάρτη χρησιμοποιώντας τη μέθοδο for-loop ή χρησιμοποιώντας τη λίστα () για να λάβετε την τελική έξοδο. Έχω χρησιμοποιήσει τη λίστα () στον κώδικα που εμφανίζει τις τιμές μέσα στη λίστα που δίνεται.
Έτσι, χρησιμοποιώντας τη συνάρτηση map (), μπορούμε να πάρουμε το τετράγωνο κάθε αριθμού. Η λίστα που δόθηκε στον χάρτη ήταν [2,3,4,5,6,7,8,9] και χρησιμοποιώντας το τετράγωνο συνάρτησης () η έξοδος από το χάρτη () που έχουμε είναι [4, 9, 16, 25, 36, 49, 64, 81].
Ο χάρτης λειτουργίας () εφαρμόζει το τετράγωνο λειτουργίας () σε όλα τα στοιχεία της λίστας. Για παράδειγμα, η μεταβλητή my_list και ενημερώνει τη λίστα με το τετράγωνο κάθε αριθμού. Η έξοδος αποθηκεύεται στη μεταβλητή ενημερωμένης λίστας.
Χρήση χάρτη () με ενσωματωμένες λειτουργίες Python
Η λειτουργία Python map () είναι μια ενσωματωμένη συνάρτηση και μπορεί επίσης να χρησιμοποιηθεί με άλλες ενσωματωμένες λειτουργίες που είναι διαθέσιμες στο Python. Στο παράδειγμα, θα χρησιμοποιήσουμε την ενσωματωμένη συνάρτηση Python round () που ολοκληρώνει τις τιμές που δίνονται.
Παράδειγμα:
Η λίστα που έχω είναι my_list = [2.6743,3.63526,4,2325,5,9687967,6,3265,7,6988,8,232,9,6907].
Χρειάζομαι τις στρογγυλεμένες τιμές για κάθε στοιχείο που υπάρχει στη λίστα. Θα χρησιμοποιήσουμε το γύρο () ως συνάρτηση για τη χαρτογράφηση ().
my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]updated_list = map(round, my_list)print(updated_list)print(list(updated_list))
Παραγωγή:
Η συνάρτηση στρογγυλή () εφαρμόζεται σε όλα τα στοιχεία της λίστας και επιστρέφει μια λίστα με όλες τις τιμές στρογγυλεμένες όπως φαίνεται στην έξοδο.
Χρήση χάρτη () με συμβολοσειρά ως επαναληπτικό
Μπορούμε επίσης να κάνουμε χρήση του χάρτη () σε μια συμβολοσειρά. Στο Python, μια συμβολοσειρά ενεργεί σαν πίνακας, ώστε να μπορούμε να την χρησιμοποιήσουμε εύκολα μέσα στον χάρτη ().
Στο παράδειγμα, έχουμε μια συνάρτηση myMapFunc () που φροντίζει για τη μετατροπή της δεδομένης συμβολοσειράς σε κεφαλαία. Η συνάρτηση myMapFunc () δίνεται στη συνάρτηση map (). Η συνάρτηση map θα φροντίσει να μετατρέψει τη συμβολοσειρά που δίνεται σε κεφαλαία περνώντας τη συμβολοσειρά στο myMapFunc ()
def myMapFunc(s):return s.upper()my_str = "welcome to guru99 tutorials!"updated_list = map(myMapFunc, my_str)print(updated_list)for i in updated_list:print(i, end)
Παραγωγή:
Χρήση χάρτη () με λίστα των αριθμών
Για να εργαστείτε με τη λίστα στο χάρτη () θα λάβετε μια λίστα αριθμών και θα πολλαπλασιάσετε κάθε αριθμό στη λίστα με 10.
Η λίστα που πρόκειται να χρησιμοποιήσουμε είναι: [2,3,4,5,6,7,8,9]. Η συνάρτηση myMapFunc () φροντίζει να πολλαπλασιάσει τον δεδομένο αριθμό με 10. Η συνάρτηση δίνεται στο χάρτη μαζί με τη λίστα.
Παράδειγμα:
def myMapFunc(n):return n*10my_list = [2,3,4,5,6,7,8,9]updated_list = map(myMapFunc, my_list)print(updated_list)print(list(updated_list))
Παραγωγή:
Η έξοδος που βλέπουμε είναι ότι κάθε αριθμός στη λίστα είναι
πολλαπλασιασμένο επί 10.
Χρήση χάρτη () με Tuple
Το tuple είναι ένα αντικείμενο στην Python που έχει στοιχεία διαχωρισμένα με κόμματα και περικλείεται σε αγκύλες. Στο παράδειγμα, θα πάρουμε μια πλειάδα με τιμές συμβολοσειράς. Η συνάρτηση που θα χρησιμοποιήσουμε θα μετατρέψει τις τιμές που δίνονται σε κεφαλαία.
Παράδειγμα:
def myMapFunc(n):return n.upper()my_tuple = ('php','java','python','c++','c')updated_list = map(myMapFunc, my_tuple)print(updated_list)print(list(updated_list))
Παραγωγή:
Η έξοδος που λαμβάνουμε είναι ένα tuple πίσω με όλες τις τιμές σε αυτό να μετατρέπονται σε κεφαλαία.
Χρήση χάρτη () με λεξικό
Ένα λεξικό στο Python δημιουργείται χρησιμοποιώντας αγκύλες ({}). Δεδομένου ότι το λεξικό είναι επαναληπτικό, μπορείτε να το χρησιμοποιήσετε μέσα στη λειτουργία χάρτη (). Ας χρησιμοποιήσουμε τώρα ένα λεξικό ως λειτουργία επανάληψης εντός του χάρτη ().
Το παρακάτω παράδειγμα δείχνει τη λειτουργία του επαναληπτικού λεξικού στο χάρτη ()
def myMapFunc(n):return n*10my_dict = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_dict)print(finalitems)print(list(finalitems))
Παραγωγή:
Χρήση χάρτη () με το Σετ
Το Set in Python είναι μια μη ταξινομημένη συλλογή αντικειμένων σε αγκύλες (()). Εφόσον το set () είναι επίσης επαναληπτικό, μπορείτε να το χρησιμοποιήσετε στη λειτουργία map ().
Ακολουθεί ένα λειτουργικό παράδειγμα χρήσης του σετ ως επαναληπτικού εσωτερικού χάρτη ()
def myMapFunc(n):return n*10my_set = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_set)print(finalitems)print(list(finalitems))
Παραγωγή:
Χρήση χάρτη () με λειτουργία Lambda
Στο Python, οι εκφράσεις λάμδα χρησιμοποιούνται για την κατασκευή ανώνυμων συναρτήσεων. Θα πρέπει να χρησιμοποιήσετε τη λέξη-κλειδί λάμδα όπως ακριβώς χρησιμοποιείτε το def για να ορίσετε κανονικές λειτουργίες.
Έτσι στο παράδειγμα, θα χρησιμοποιήσουμε τη συνάρτηση λάμδα μέσα στον χάρτη (). Η συνάρτηση λάμδα πολλαπλασιάζει κάθε τιμή στη λίστα με 10.
Παράδειγμα:
my_list = [2,3,4,5,6,7,8,9]updated_list = map(lambda x: x * 10, my_list)print(updated_list)print(list(updated_list))
Παραγωγή:
Χρήση πολλαπλών επαναληπτών μέσα στη λειτουργία χάρτη ()
Παράδειγμα 1: Μετάδοση δύο επαναληπτικών λιστών στο χάρτη ()
Μπορείτε να στείλετε περισσότερα από ένα επαναληπτικά, δηλαδή μια λίστα, μια πλειάδα κ.λπ. ταυτόχρονα στη λειτουργία χάρτη ().
Για παράδειγμα, εάν θέλετε να προσθέσετε δύο λίστες. Το ίδιο μπορεί να γίνει χρησιμοποιώντας τη συνάρτηση map (). Θα χρησιμοποιήσουμε δύο λίστες my_list1 και my_list2.
Στο παρακάτω παράδειγμα, το πρώτο στοιχείο στο my_list1 προστίθεται στο πρώτο στοιχείο του my_list2. Η συνάρτηση myMapFunc () παίρνει στοιχεία του my_list1 και my_list2 και επιστρέφει το άθροισμα και των δύο.
Εδώ είναι το λειτουργικό παράδειγμα της προσθήκης δύο δεδομένων λιστών χρησιμοποιώντας τη συνάρτηση map ().
def myMapFunc(list1, list2):return list1+list2my_list1 = [2,3,4,5,6,7,8,9]my_list2 = [4,8,12,16,20,24,28]updated_list = map(myMapFunc, my_list1,my_list2)print(updated_list)print(list(updated_list))
Παραγωγή:
Παράδειγμα 2: Περάζοντας ένα Tuple και έναν επαναληπτικό λίστας στο χάρτη ()
Θα χρησιμοποιήσουμε μια λίστα και έναν επαναληπτικό tuple στη λειτουργία map (). Η συνάρτηση δίνεται στο χάρτη - το myMapFunc () θα πάρει τα στοιχεία από τη λίστα και το Tuple. Τα στοιχεία θα ενωθούν με μια υπογράμμιση (_). Το παράδειγμα εργασίας είναι όπως φαίνεται παρακάτω:
def myMapFunc(list1, tuple1):return list1+"_"+tuple1my_list = ['a','b', 'b', 'd', 'e']my_tuple = ('PHP','Java','Python','C++','C')updated_list = map(myMapFunc, my_list,my_tuple)print(updated_list)print(list(updated_list))
Παραγωγή:
Περίληψη
- Ο χάρτης Python () είναι μια ενσωματωμένη συνάρτηση που εφαρμόζει μια συνάρτηση σε όλα τα στοιχεία ενός επαναληπτικού που δίνεται ως είσοδος. Ένας επαναληπτικός παράγοντας, για παράδειγμα, μπορεί να είναι μια λίστα, μια πλειάδα, μια συμβολοσειρά κ.λπ. και επιστρέφει ένα επαναλαμβανόμενο αντικείμενο χάρτη.
- Η συνάρτηση map () πρόκειται να εφαρμόσει τη δεδομένη συνάρτηση σε όλα τα στοιχεία μέσα στον επαναληπτή και να επιστρέψει ένα επαναλαμβανόμενο αντικείμενο χάρτη, δηλαδή μια πλειάδα, μια λίστα κ.λπ.
- Η λειτουργία Python map () είναι μια ενσωματωμένη συνάρτηση και μπορεί επίσης να χρησιμοποιηθεί με άλλες ενσωματωμένες λειτουργίες που είναι διαθέσιμες στο Python.
- Το tuple είναι ένα αντικείμενο στην Python που έχει στοιχεία διαχωρισμένα με κόμματα και περικλείεται σε αγκύλες. Στο παράδειγμα θα πάρει μια πλειάδα με τιμές συμβολοσειράς. Η συνάρτηση που θα χρησιμοποιήσουμε θα μετατρέψει τις τιμές που δίνονται σε κεφαλαία.
- Ένα λεξικό στο Python δημιουργείται χρησιμοποιώντας αγκύλες ({}). Δεδομένου ότι το λεξικό είναι επαναληπτικό, μπορείτε να το χρησιμοποιήσετε μέσα στη λειτουργία χάρτη ().
- Το Set in Python είναι μια μη ταξινομημένη συλλογή αντικειμένων σε αγκύλες (()). Εφόσον το set () είναι επίσης επαναληπτικό, μπορείτε να το χρησιμοποιήσετε στη λειτουργία map ().
- Στο Python, οι εκφράσεις λάμδα (ή μορφές λάμδα) χρησιμοποιούνται για την κατασκευή ανώνυμων συναρτήσεων. Έτσι, η λέξη-κλειδί λάμδα πρέπει να χρησιμοποιείται όταν θέλετε να χρησιμοποιήσετε λάμδα μέσα στο χάρτη ().
- Μπορείτε να στείλετε περισσότερα από ένα επαναληπτικά, δηλαδή μια λίστα, μια πλειάδα στη λειτουργία χάρτη ().