Python zip ()

Funkcija zip () vzame iterable (lahko je nič ali več), jih združi v sklop in jih vrne.

Sintaksa zip()funkcije je:

 zip (* iterables)

zip () parametri

Parameter Opis
iterables lahko vgrajene ponovljive datoteke (kot so: seznam, niz, izrek) ali uporabniško določene ponovljive datoteke

Priporočeno branje: Python Iterators, __iter__ in __next__

Vrnjena vrednost iz zip ()

zip() Vrne iterator s tabelami, ki temelji na iterable predmete.

  • Če ne prenesemo nobenega parametra, zip()vrne prazen iterator
  • Če je posredovan en iterable, zip()vrne iterator tortov, pri čemer ima vsak tuple samo en element.
  • Če je posredovanih več ponovitev, zip()vrne iterator tortov, pri čemer ima vsak tuple elemente iz vseh iterablov.
    Recimo, da sta dve iterables posredovani zip(); en iterable, ki vsebuje tri, drugi pa pet elementov. Potem bo vrnjeni iterator vseboval tri korice. To je zato, ker se iterator ustavi, ko je izčrpan najkrajši iterabil.

Primer 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)

Izhod

 () ((2, "dva"), (3, "tri"), (1, "ena"))

Primer 2: različno število ponovljivih elementov

 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)

Izhod

 ((2, 'TWO'), (3, 'TRI'), (1, 'ENO')) ((2, 'dva', 'DVA'), (1, 'ena', 'ENO')

* Operater lahko uporablja v povezavi z zip(), da razširite seznam.

 zip (* zippedList)

Primer 3: Razpakiranje vrednosti z uporabo 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)

Izhod

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

Zanimive Članki...