Funkcija „zip“ () pakartoja kartotinius rodmenis (gali būti lygi nuliui ar daugiau), sujungia juos į kelis ir grąžina.
zip()
Funkcijos sintaksė yra tokia:
zip (* kartojami)
zip () parametrai
Parametras | apibūdinimas |
---|---|
iterables | gali būti įmontuotos kartojamos versijos (pvz .: sąrašas, eilutė, diktuoti) arba vartotojo apibrėžtos kartojamos versijos |
Rekomenduojamas skaitymas: „ Python Iterators“, __iter__ ir __next__
Grąžinimo vertė nuo pašto ()
zip()
Funkcija grąžina tuples iteratorių remiantis iterable objektų.
- Jei mes nepateiksime jokio parametro,
zip()
grąžins tuščią iteratorių - Jei perduodamas vienas pasikartojantis kartotinis elementas,
zip()
pateikiamas kartotinių kartotinių iteratorius, kuriame kiekvienas paketas turi tik vieną elementą. - Jei perduodami keli kartotiniai elementai,
zip()
grąžina rinkinių iteratorių, kuriame kiekvienas elementas turi elementų iš visų kartojamų elementų.
Tarkime, du kartotiniai yra perduodamizip()
; vienas kartojamas, kuriame yra trys, o kitame - penki elementai. Tada grąžintame iteratoriuje bus trys rinkiniai. Taip yra todėl, kad iteratorius sustoja, kai pasibaigia trumpiausias kartojamasis rodiklis.
1 pavyzdys: „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)
Rezultatas
() ((2, „du“), (3, „trys“), (1, „vienas“))
2 pavyzdys: skirtingas kartojamų elementų skaičius
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)
Rezultatas
((2, „TWO“), (3, „THREE“), (1, „ONE“)) ((2, „two“, „TWO“), (1, „one“, „ONE“))
* Operatorius gali būti naudojamas kartu su zip()
išpakuokite sąrašą.
zip (* zippedList)
3 pavyzdys: vertės išpakavimas naudojant 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)
Rezultatas
(('x', 3), ('y', 4), ('z', 5)) c = ('x', 'y', 'z') v = (3, 4, 5)