Funkcija zip () ņem atkārtojamās kopas (var būt nulle vai vairāk), apvieno tās vienā rindā un atdod.
Funkcijas sintakse zip()
ir šāda:
zip (* atkārtojamie faili)
zip () parametri
Parametrs | Apraksts |
---|---|
iterables | var būt iebūvēti atkārtojamie faili (piemēram, saraksts, virkne, dikti) vai lietotāja definēti atkārtojamie faili |
Ieteicamā literatūra: Python Iterators, __iter__ un __next__
Atgriezeniskā vērtība no zip ()
zip()
Funkcija atgriež iteratorā par tuples pamatojoties uz iterable objektiem.
- Ja mēs neizturam nevienu parametru,
zip()
atgriež tukšu iteratoru - Ja tiek nodota viena atkārtojama versija,
zip()
atgriež kopu atkārtotāju ar katru kopu tikai ar vienu elementu. - Ja tiek nodoti vairāki atkārtojamie parametri, tiek
zip()
atgriezts kopu atkārtotājs ar katru kopu, kurā ir elementi no visām atkārtojamām.
Pieņemsim, ka divi atkārtoti tiek nodotizip()
; viens iterējams, kas satur trīs, un otrs, kas satur piecus elementus. Pēc tam atgrieztajā iteratorā būs trīs kopas. Tas notiek tāpēc, ka iterators apstājas, kad ir iztērēts īsākais atkārtojamais skaitlis.
1. piemērs: 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)
Rezultāts
() ((2, "divi"), (3, "trīs"), (1, "viens"))
2. piemērs: atšķirīgs atkārtojamo elementu skaits
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)
Rezultāts
((2, 'DIVI'), (3, 'TRĪS'), (1, 'VIENS')) ((2, 'divi', 'DIVI'), (1, 'viens', 'VIENS'))
* Operators var lietot kopā ar zip()
unzip sarakstu.
zip (* zippedList)
3. piemērs: Vērtības izpakošana, izmantojot 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)
Rezultāts
(('x', 3), ('y', 4), ('z', 5)) c = ('x', 'y', 'z') v = (3, 4, 5)