Python zip ()

Zip () -funktionen tar iterables (kan vara noll eller mer), sammanställer dem i en tuple och returnerar den.

zip()Funktionens syntax är:

 zip (* iterables)

zip () Parametrar

Parameter Beskrivning
iterables kan vara inbyggda iterables (som: list, string, dict) eller användardefinierade iterables

Rekommenderad läsning: Python Iterators, __iter__ och __next__

Returvärde från zip ()

Den zip() returnerar en iterator av tupler baserat på iterable objekt.

  • Om vi ​​inte skickar någon parameter, zip()returnerar en tom iterator
  • Om en enstaka iterabel passeras zip()returnerar en iterator av tuplar med varje tupel som bara har ett element.
  • Om flera iterables skickas zip()returnerar en iterator av tuples med varje tuple som har element från alla iterables.
    Antag att två iterables skickas till zip(); en iterabel som innehåller tre och en annan som innehåller fem element. Sedan kommer den returnerade iteratorn att innehålla tre tuplar. Det beror på att iterator stannar när den kortaste iterable är uttömd.

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

Produktion

 () ((2, 'två'), (3, 'tre'), (1, 'en'))

Exempel 2: Olika antal iterabla element

 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)

Produktion

 ((2, 'TWO'), (3, 'THREE'), (1, 'ONE')) ((2, 'two', 'TWO'), (1, 'one', 'ONE'))

Den * Operatören kan användas i samband med zip()att packa listan.

 zip (* zippedList)

Exempel 3: Packa upp värdet med hjälp av 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)

Produktion

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

Intressanta artiklar...