Python-glidelås ()

Zip () -funksjonen tar iterables (kan være null eller mer), samler dem i en tuple og returnerer den.

Syntaksen til zip()funksjonen er:

 zip (* iterables)

zip () Parametere

Parameter Beskrivelse
iterables kan være innebygde iterables (som: liste, streng, dict) eller brukerdefinerte iterables

Anbefalt lesing: Python Iterators, __iter__ og __next__

Returverdi fra zip ()

Den zip() funksjonen returnerer en iterator av tupler basert på iterable stedene.

  • Hvis vi ikke sender noen parameter, zip()returnerer en tom iterator
  • Hvis en enkelt iterabel er bestått, zip()returnerer en iterator av tupler med hver tuple som bare har ett element.
  • Hvis flere iterables sendes, zip()returnerer en iterator av tupler med hver tuple som har elementer fra alle iterables.
    Anta at to iterables sendes til zip(); en iterabel som inneholder tre og andre inneholder fem elementer. Deretter vil den returnerte iteratoren inneholde tre tupler. Det er fordi iterator stopper når den korteste iterabelen er utmattet.

Eksempel 1: Python-zip ()

 number_list = (1, 2, 3) str_list = ('one', 'two', 'three') # No iterables are passed result = zip() # Converting iterator to list result_list = list(result) print(result_list) # Two iterables are passed result = zip(number_list, str_list) # Converting iterator to set result_set = set(result) print(result_set)

Produksjon

 () ((2, 'to'), (3, 'tre'), (1, 'en'))

Eksempel 2: Ulike antall iterable elementer

 numbersList = (1, 2, 3) str_list = ('one', 'two') numbers_tuple = ('ONE', 'TWO', 'THREE', 'FOUR') # Notice, the size of numbersList and numbers_tuple is different result = zip(numbersList, numbers_tuple) # Converting to set result_set = set(result) print(result_set) result = zip(numbersList, str_list, numbers_tuple) # Converting to set result_set = set(result) print(result_set)

Produksjon

 ((2, 'TWO'), (3, 'THREE'), (1, 'ONE')) ((2, 'two', 'TWO'), (1, 'one', 'ONE'))

Den * Operatøren kan brukes i forbindelse med zip()å pakke listen.

 zip (* zippedList)

Eksempel 3: Pakke ut verdien ved hjelp av zip ()

 coordinate = ('x', 'y', 'z') value = (3, 4, 5) result = zip(coordinate, value) result_list = list(result) print(result_list) c, v = zip(*result_list) print('c =', c) print('v =', v)

Produksjon

 (('x', 3), ('y', 4), ('z', 5)) c = ('x', 'y', 'z') v = (3, 4, 5) 

Interessante artikler...