Χάρτης, φιλτράρισμα και μείωση λειτουργιών στο Python: Όλα όσα πρέπει να γνωρίζετε



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

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

Πριν προχωρήσουμε, ας ρίξουμε μια ματιά στα περιεχόμενα:





Ας ξεκινήσουμε λοιπόν. :)

Τι είναι οι λειτουργίες χάρτη (), φίλτρου () και μείωσης () στο Python;

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



Η συνάρτηση map ():

Η συνάρτηση map () είναι ένας τύπος ανώτερης τάξης. Όπως αναφέρθηκε προηγουμένως, αυτή η συνάρτηση παίρνει μια άλλη συνάρτηση ως παράμετρο μαζί με μια ακολουθία iterables και επιστρέφει μια έξοδο μετά την εφαρμογή της συνάρτησης σε κάθε επαναλαμβανόμενο παρόν στην ακολουθία. Η σύνταξή της έχει ως εξής:

ΣΥΝΤΑΞΗ:

δημιουργία ενός πίνακα αντικειμένων σε java

χάρτης (συνάρτηση, επαναλήψεις)



Εδώ, η συνάρτηση ορίζει μια έκφραση που με τη σειρά της εφαρμόζεται στα iterables. Η συνάρτηση χαρτών μπορεί επίσης να χρησιμοποιεί λειτουργίες που καθορίζονται από το χρήστη Λάμδα λειτουργίες ως παράμετρος.

Χρήση των λειτουργιών καθορισμένων από τον χρήστη και Lambda εντός:

Λειτουργίες που καθορίζονται από τον χρήστη στο χάρτη ():

Η συνάρτηση map () μπορεί να λαμβάνει συναρτήσεις καθορισμένες από τον χρήστη ως παραμέτρους. Οι παράμετροι αυτών των λειτουργιών καθορίζονται αποκλειστικά από τον χρήστη ή τον προγραμματιστή. Για παράδειγμα:

ΠΑΡΑΔΕΙΓΜΑ:

def newfunc (a): επιστροφή a * a x = χάρτης (newfunc, (1,2,3,4)) #x είναι η εκτύπωση αντικειμένου χάρτη (x) εκτύπωση (σετ (x))

ΠΑΡΑΓΩΓΗ:

{16, 1, 4, 9}

Όπως μπορείτε να δείτε, το x είναι ένα αντικείμενο χάρτη. Η έξοδος του επόμενου μέρους εμφανίζει τη συνάρτηση χάρτη λαμβάνοντας το newfunc () ως παράμετρο και στη συνέχεια εφαρμόζει το a * a σε όλα τα iterables. Ως αποτέλεσμα, οι τιμές όλων των επαναλήψεων πολλαπλασιάζονται από μόνες τους και επιστρέφονται.

ΣΗΜΕΙΩΣΗ: Η έξοδος δεν είναι στη σειρά των τιμών των επαναληπτικών διότι έχω χρησιμοποιήσει τη συνάρτηση set (). Μπορείτε επίσης να χρησιμοποιήσετε τις λειτουργίες λίστας () ή tuple () για παράδειγμα:

ΠΑΡΑΔΕΙΓΜΑ:

def newfunc (a): επιστροφή a * a x = χάρτης (newfunc, (1,2,3,4)) #x είναι η εκτύπωση αντικειμένου χάρτη (x) εκτύπωση (λίστα (x))

ΠΑΡΑΓΩΓΗ:

[1, 4, 9, 16]

Μπορείτε επίσης να περάσετε περισσότερες από μία λίστα παραμέτρων. Για παράδειγμα:

ΠΑΡΑΔΕΙΓΜΑ:

def func (a, b): επιστροφή a + b a = map (func, [2, 4, 5], [1,2,3]) print (a) print (tuple (a))

ΠΑΡΑΓΩΓΗ:

(3, 6, 8)

Τώρα ας δούμε πώς μπορείτε να χρησιμοποιήσετε Λάμδα λειτουργίες εντός της λειτουργίας χάρτη ().

Λάμδα λειτουργίες στο χάρτη ():

Οι λειτουργίες Lambda είναι συναρτήσεις που έχουν οποιοδήποτε όνομα. Αυτές οι λειτουργίες παρέχονται συχνά ως παράμετροι σε άλλες λειτουργίες. Τώρα ας προσπαθήσουμε να ενσωματώσουμε τις λειτουργίες lambda στη συνάρτηση map (). Εξετάστε το ακόλουθο παράδειγμα:

ΠΑΡΑΔΕΙΓΜΑ:

tup = (5, 7, 22, 97, 54, 62, 77, 23, 73, 61) newtuple = tuple (map (lambda x: x + 3, tup)) εκτύπωση (newtuple)

ΠΑΡΑΓΩΓΗ:

(8, 10, 25, 100, 57, 65, 80, 26, 76, 64)

Η παραπάνω έξοδος είναι αποτέλεσμα της εφαρμογής της έκφρασης λάμδα (x + 3) σε κάθε στοιχείο που υπάρχει στην πλειάδα.

Η λειτουργία φίλτρου ():

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

ΣΥΝΤΑΞΗ:

φίλτρο (συνάρτηση, επαναλήψεις)

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

ΠΑΡΑΔΕΙΓΜΑ:

def func (x): if x> = 3: return x y = filter (func, (1,2,3,4)) print (y) print (λίστα (y))

ΠΑΡΑΓΩΓΗ:

[3. 4]

Όπως μπορείτε να δείτε, το y είναι το αντικείμενο φίλτρου και η λίστα είναι μια λίστα τιμών που ισχύουν για τη συνθήκη (x> = 3).

Χρήση λάμδα εντός φίλτρου ():


Η συνάρτηση λάμδα που χρησιμοποιείται ως παράμετρος καθορίζει πραγματικά την κατάσταση που πρέπει να ελεγχθεί. Για παράδειγμα:

ΠΑΡΑΔΕΙΓΜΑ:

y = φίλτρο (λάμδα x: (x> = 3), (1,2,3,4)) εκτύπωση (λίστα (y))

ΠΑΡΑΓΩΓΗ: [3. 4]

Ο παραπάνω κώδικας παράγει την ίδια έξοδο με την προηγούμενη συνάρτηση.

Η συνάρτηση μείωση ():

Η συνάρτηση μείωση (), όπως περιγράφει το όνομα, εφαρμόζει μια δεδομένη συνάρτηση στις επαναλήψεις και επιστρέφει μία μόνο τιμή.

μείωση-χάρτη μείωση φίλτρου-edureka

πώς να εγκαταστήσετε το php στα παράθυρα

Η σύνταξη αυτής της συνάρτησης έχει ως εξής:

ΣΥΝΤΑΞΗ:

μείωση (λειτουργία, επαναλήψεις)

Η συνάρτηση εδώ καθορίζει τι έκφραση πρέπει να εφαρμοστεί στις επαναλήψεις. Αυτή η λειτουργία πρέπει να εισαχθεί από τα functools μονάδα μέτρησης . Για παράδειγμα:

ΠΑΡΑΔΕΙΓΜΑ:

από functools εισαγωγή μείωση μείωσης (λάμδα a, b: a + b, [23,21,45,98])

ΠΑΡΑΓΩΓΗ: 187

Στο παραπάνω παράδειγμα, η λειτουργία μείωσης προσθέτει διαδοχικά κάθε επαναλαμβανόμενη παρουσία στη λίστα και επιστρέφει μία έξοδο.

Οι λειτουργίες χάρτη (), φίλτρου () και μείωσης () στο Python μπορούν να χρησιμοποιηθούν μαζί.

Χρησιμοποιώντας τις λειτουργίες χάρτη (), φίλτρου () και μείωσης () μεταξύ τους:

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

Ας προσπαθήσουμε πρώτα να περάσουμε τη λειτουργία φίλτρου () ως παράμετρος στη συνάρτηση χάρτη ().

Χρήση φίλτρου () στον χάρτη ():

Ο κωδικός που δίνεται παρακάτω ελέγχει πρώτα την κατάσταση (x> = 3) ως αληθής για τις επαναλήψεις. Στη συνέχεια, η έξοδος χαρτογραφείται χρησιμοποιώντας τη συνάρτηση map ().

τι είναι η διαφορά μεταξύ jquery και javascript

ΠΑΡΑΔΕΙΓΜΑ:

c = map (lambda x: x + x, φίλτρο (lambda x: (x> = 3), (1,2,3,4))) εκτύπωση (λίστα (c))

ΠΑΡΑΓΩΓΗ: [6, 8]

Εάν φιλτράρετε ακέραιους αριθμούς μεγαλύτερους από ή ίσους με 3 από τη δεδομένη πλειάδα, θα έχετε [3,4] ως αποτέλεσμα. Στη συνέχεια, εάν το αντιστοιχίσετε χρησιμοποιώντας τη συνθήκη (x + x), θα λάβετε [6,8], που είναι η έξοδος.

Χρήση χάρτη () εντός φίλτρου ():


Όταν χρησιμοποιείτε τη συνάρτηση map () μέσα στη συνάρτηση φίλτρου (), οι επαναληπτικές λειτουργίες λειτουργούν πρώτα από τη συνάρτηση χάρτη και στη συνέχεια εφαρμόζεται η συνθήκη του φίλτρου ().

ΠΑΡΑΔΕΙΓΜΑ:

c = φίλτρο (λάμδα x: (x> = 3), χάρτης (λάμδα x: x + x, (1,2,3,4))) #lambda x: (x> = 3) εκτύπωση (λίστα (c) )

ΠΑΡΑΓΩΓΗ: [4, 6, 8]

Χρήση χάρτη () και φίλτρου () εντός μείωσης ():

Η έξοδος των εσωτερικών λειτουργιών μειώνεται ανάλογα με την κατάσταση που παρέχεται στη λειτουργία μείωσης ().

ΠΑΡΑΔΕΙΓΜΑ:

d = μείωση (λάμδα x, y: x + y, χάρτης (λάμδα x: x + x, φίλτρο (λάμδα x: (x> = 3), (1,2,3,4)))) εκτύπωση (d)

ΠΑΡΑΓΩΓΗ: 14

Η έξοδος είναι αποτέλεσμα [6,8] που είναι το αποτέλεσμα των εσωτερικών λειτουργιών χάρτη () και φίλτρου ().

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

Έχετε μια ερώτηση για εμάς; Παρακαλούμε να το αναφέρετε στην ενότητα σχολίων αυτού του ιστοτόπου 'map (), filter () και μείωση () Functions in Python' και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.

Για να μάθετε σε βάθος την Python μαζί με τις διάφορες εφαρμογές της, μπορείτε να εγγραφείτε ζωντανά με υποστήριξη 24/7 και πρόσβαση σε όλη τη διάρκεια ζωής.