Python zip ()

A zip () függvény iterable-eket vesz fel (lehet nulla vagy több is), összesíti őket egy kettőbe, és visszaadja.

A zip()függvény szintaxisa :

 zip (* iterable)

zip () Paraméterek

Paraméter Leírás
iterables lehet beépített iterable (például: list, string, dict) vagy felhasználó által definiált iterable

Ajánlott olvasmány: Python Iterators, __iter__ és __next__

Visszatérési érték zip-től ()

A zip() függvény az iterálható objektumok alapján visszaadja a sorrendű iterátort.

  • Ha egyetlen paramétert sem adunk át, zip()akkor egy üres iterátort ad vissza
  • Ha egyetlen iterálást adunk át, zip()akkor a sorrendű iterátort adja vissza, ahol minden egyes duplának csak egy eleme van.
  • Ha több iterable kerül átadásra, zip()akkor a sorrendű iterátort ad vissza, ahol az egyes duplák tartalmazzák az összes iterable elemét.
    Tegyük fel, hogy két iterable továbbításra kerül zip(); az egyik iterálható három és a másik öt elemet tartalmaz. Ezután a visszaadott iterátor három sorrendet tartalmaz. Ez azért van, mert az iterátor akkor áll le, amikor a legrövidebb időn belül kimerül.

1. példa: 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)

Kimenet

 () ((2, „kettő”), (3, „három”), (1, „egy”))

2. példa: Különböző számú iterálható elemek

 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)

Kimenet

 ((2, „KETTŐ”), (3, „HÁROM”), (1, „EGY”)) ((2, „kettő”, „KÉT”), (1, „egy”, „EGY”))

A * operátor együtt használható zip()a lista kibontásához.

 zip (* zippedList)

3. példa: Az érték kibontása zip () használatával

 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)

Kimenet

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

érdekes cikkek...