Anonieme Javascript-kaartfunctie
array Python module |
code Python module |
COM PHP module |
dis Python module |
Ev PHP module |
FFI PHP module |
imp Python module |
io Python module |
JavaScript |
nis Python module |
numbers Python module |
os Python module |
Python functions |
Rar PHP module |
re Python module |
StackOverflow |
string Python module |
Strings PHP module |
time Python module |
UI PHP module
Michael Zippo
De functie Python map () voert een functie uit op elk element van een verzameling, zoals een lijst of een set. De functie map () accepteert een functie en een object om op toe te passen waarop de functie als argumenten zal werken.
Als je met een lijst met items in Python werkt, wil je misschien een specifiek functie op elk van die items.
is waar de ingebouwde kaartfunctie () van Python binnenkomt. De kaartfunctie van Python voert een functie uit op alle elementen van een itereerbaar object, zoals een lijst, en retourneert de kaart van de objecten .
In deze tutorial bespreken we aan de hand van een reeks voorbeelden hoe we de functie map () in python kunnen gebruiken.
python Iterable objecten
iteratieve objecten zijn elementen die een aftelbaar aantal waarden bevatten en die kunnen worden doorlopen. Lijsten, woordenboeken, tupels en sets zijn allemaal itereerbaar in Python omdat ze meerdere waarden kunnen bevatten en kunnen worden doorlopen.
Stel dat je een lijst hebt met studentennamen die je wilt onthouden. In plaats van deze extra namen Python-variabelen op te slaan, kunt u een array declareren om de waarden op te slaan:
Onze studenten
variabele bevat een lijst, wat een itereerbaar object is. Dit betekent dat we de items in de lijst kunnen doorlopen. functie
python Map Functie Syntaxis
De map () geeft elk element in een lijst door en voert een functie uit op elk element. map () is gebouwd in python. Dit betekent dat u geen bibliotheken hoeft te importeren om de methode map () te gebruiken
Python kaart () is een functie van hogere orde die kan worden gebruikt om een specifieke functie voor meerdere elementen in een itereerbaar object. De syntaxis voor de functie Python map () is als volgt:
Het eerste argument dat de functie map () accepteert, is de functie . Dit is de functie die op elk element van de iterables wordt uitgevoerd. iterable is het object dat wordt vergeleken, zoals een lijst, tuple, woordenboek of set
Hoe de kaartfunctie in Python te gebruiken
Stel dat u een beheerder bent van een school die de taak heeft gekregen om een volledige lijst met leerlingen te maken.
We besluiten een afdruk te maken van een lijst met namen van leerlingen met de klas van elke leerling naast hun naam. Dit voorkomt verwarring als twee studenten uit twee verschillende klassen dezelfde naam hebben.
Dit is een perfecte toepassing van de functie. we hebben een iterabel dat we een functie willen uitvoeren. de functie zal de naam van een student samenvoegen met het cijfer dat ze zijn. Hier is een programma dat kan worden gebruikt om studentennamen samen te voegen met hun eigen Python-kaartklasse () niveau:
In de eerste twee regels declareren we een Python-functie genaamd mergeNamesAndGrades. Deze functie wordt gecombineerd met de Grade 1 naam van elke leerling.
Dus op de volgende regel definiëren we de lijst met leerlingen in onze school. Er staan vijf studenten op onze lijst.
map () functie wordt toegepast op de inhoud van de student_roster Python-variabele . De functie map () heeft twee argumenten: de functie (in dit geval mergeNamesAndGrades) en het itereerbare object (studenten).
De methode map () past de functie mergeNamesAndGrades () toe op elke student in onze list.
Converteer een Python-map naar een lijst
Ons programma is echter nog niet compleet. map () functie retourneert een toegewezen object , niet onze volledige lijst. Als we op dit moment onze variabele student_roster afdrukken, retourneert onze code een overeenkomend object zoals dit:
Deze uitvoer is gegenereerd omdat de functie map () zijn eigen aangepaste object retourneert, in plaats van een lijst. Dus als we de lijst met studentennamen willen afdrukken, moeten we onze variabele student_roster converteren naar een lijst. Hier is de code die we kunnen gebruiken om deze actie uit te voeren:
Onze code retourneert de lijst Python :
Laten we nog een voorbeeld bekijken. Laten we zeggen dat we de naam en het cijfer van elke student willen omzetten in hoofdletters voor onze studentenlijst. We kunnen de volgende code gebruiken om de naam en cijfers van leerlingen te wijzigen:
Onze code retourneert een lijst die we kunnen herhalen:
In dit voorbeeld hebben we definieerde een functie genaamd changeCase. Deze functie veranderde de naam van elke leerling in hoofdletters. We hebben de functie Python upper () gebruikt om de hoofdletters van elke naam te converteren
Ons programma gebruikte de functie map () om changeCase () op elk object in onze iterables student_roster. Ten slotte heeft ons programma de herziene lijst met studentennamen in hoofdletters geretourneerd. Functie
Python-kaart met Lambda
De functie map () van Python kan worden gebruikt met de functie lambda om onze efficiëntere code weer te geven.In de vorige voorbeelden hebben we een nieuwe functie gedeclareerd om onze iterables op de een of andere manier te wijzigen .
Maar als we een actie slechts één keer op een itereerbaar object willen uitvoeren, is het niet nodig om een nieuwe functie te declareren. In plaats daarvan kunnen we de lambda-functie Python gebruiken, wat een kleine anonieme functie is
Lambda-functies kunnen worden gebruikt met map () voor kleine functies waarin Ik wil geen nieuwe functie definiëren.
Omdat lambda-functies beknopter zijn dan normale functies, moet je proberen ze te gebruiken wanneer je maar kunt. Gebruik lambda-functies voor eenvoudige functies die u zullen helpen de leesbaarheid van de code te verbeteren
Hier is een voorbeeld van lambda dat wordt gebruikt om een lijst met namen van de studenten op te halen, zoals we het hebben gedaan - het.
div class = "wp-bloc -codemirror blocs-code-block code-block">
student_roster = [`Lucy First grade`, `Bill First grade`, `Graham First grade`, `Tommy First grade`,` Leslie First grade `] final_student_roster = kaart (lambda from: s.upper (), student_roster) impressie (list (final_student_roster))
We hebben geen . nieuwe functie om de namen van onze studenten in plaats daarvan met een hoofdletter te schrijven, we gebruikten lambda: s.upper (), wat een kleine anonieme functie is waarmee je hoofdletters van onze studenten kunt converteren.
Onze code retourneert het volgende:
Conclusie
De Python kaart ( ) kan worden gebruikt om te solliciteren een specifieke functie voor alle elementen van een itereerbaar object. U kunt bijvoorbeeld de kaart () gebruiken om de hoofdletters in een lijst met tekenreeksen om te zetten in hoofdletters. U kunt ook de functie kaart () gebruiken om een lijst met getallen te vermenigvuldigen met een bepaald bedrag
In deze tutorial hebben we besproken hoe je map () in Python gebruikt om een functie toe te passen op alle elementen in een itereerbaar object. Je kunt de lambda-functie van Python gebruiken met map ()< /em> om efficiëntere code te maken.
Je bent nu uitgerust met Kennis van Python die je moet gaan gebruiken < em>map () als een baas.