Python returnerer flere værdier - Sådan returneres en tuple, liste eller ordbog

Du kan returnere flere værdier fra en funktion i Python.

For at gøre dette skal du returnere en datastruktur, der indeholder flere værdier, som en liste, der indeholder antallet af miles, der skal køres hver uge.

def miles_to_run(minimum_miles): week_1 = minimum_miles + 2 week_2 = minimum_miles + 4 week_3 = minimum_miles + 6 return [week_1, week_2, week_3] print(miles_to_run(2)) # result: [4, 6, 8] 

Datastrukturer i Python bruges til at gemme datasamlinger, som kan returneres fra funktioner. I denne artikel undersøger vi, hvordan du returnerer flere værdier fra disse datastrukturer: tupler, lister og ordbøger.

Tuples

En tuple er en ordnet, uforanderlig sekvens. Det betyder, at en tuple ikke kan ændre sig.

Brug f.eks. En tuple til at gemme oplysninger om en person: deres navn, alder og placering.

nancy = ("nancy", 55, "chicago") 

Sådan skriver du en funktion, der returnerer en tuple.

def person(): return "bob", 32, "boston" print(person()) # result: ('bob', 32, 'boston') 

Bemærk, at vi ikke brugte parenteser i returopgørelsen. Det skyldes, at du kan returnere en tuple ved at adskille hvert element med et komma, som vist i eksemplet ovenfor.

”Det er faktisk kommaet, der skaber en tuple, ikke parenteserne,” påpeger dokumentationen. Men parentes er påkrævet med tomme tupler eller for at undgå forvirring.

Her er et eksempel på en funktion, der bruger parenteser ()til at returnere en tuple.

def person(name, age): return (name, age) print(person("henry", 5)) #result: ('henry', 5) 

Liste

En liste er en ordnet, ændret sekvens. Det betyder, at en liste kan ændres.

Du kan bruge en liste til at gemme byer:

cities = ["Boston", "Chicago", "Jacksonville"] 

Eller testresultater:

test_scores = [55, 99, 100, 68, 85, 78] 

Se på nedenstående funktion. Den returnerer en liste, der indeholder ti tal.

def ten_numbers(): numbers = [] for i in range(1, 11): numbers.append(i) return numbers print(ten_numbers()) #result: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 

Her er et andet eksempel. Denne gang giver vi flere argumenter, når vi kalder funktionen.

def miles_ran(week_1, week_2, week_3, week_4): return [week_1, week_2, week_3, week_4] monthly_mileage = miles_ran(25, 30, 28, 40) print(monthly_mileage) #result: [25, 30, 28, 40] 

Det er let at forveksle tupler og lister. Når alt kommer til alt er begge containere, der gemmer genstande. Husk dog disse nøgleforskelle:

  • Tuples kan ikke ændre sig.
  • Lister kan ændre sig.

Ordbøger

En ordbog indeholder nøgleværdipar indpakket i krøllede parenteser {}. Hver "nøgle" har en relateret "værdi".  

Overvej medarbejdernes ordbog nedenfor. Hvert medarbejdernavn er en "nøgle", og deres position er "værdien".

employees = { "jack": "engineer", "mary": "manager", "henry": "writer", } 

Sådan skriver du en funktion, der returnerer en ordbog med et nøgleværdipar.

def city_country(city, country): location = {} location[city] = country return location favorite_location = city_country("Boston", "United States") print(favorite_location) # result: {'Boston': 'United States'} 

I ovenstående eksempel er "Boston" nøglen, og "USA" er værdien .  

Vi har dækket meget grund. Nøglepunktet er dette: du kan returnere flere værdier fra en Python-funktion, og der er flere måder at gøre det på.

Jeg skriver om de programmeringsfærdigheder, du har brug for at udvikle, og de begreber, du har brug for at lære, og de bedste måder at lære dem på amymhaddad.com.