Python zip ()

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 nodoti zip(); 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) 

Interesanti raksti...