logo

zip() у Python

Метод Python zip(). приймає ітеровані контейнери та повертає єдиний об’єкт-ітератор із відображеними значеннями з усіх контейнерів.

Синтаксис Python zip().

Це звикло відобразити подібний індекс кількох контейнерів, щоб їх можна було використовувати лише за допомогою однієї сутності.



Синтаксис: zip(*ітератори)

Параметри: Ітерації або контейнери Python (список, рядок тощо)
Повернене значення: Повертає єдиний об’єкт-ітератор.

монітор з електронно-променевою трубкою

zip() у прикладах Python

Python zip() зі списками

в Python , функція zip() використовується для об’єднання двох або більше списки (або будь-які інші ітерації) в один ітератор, де елементи з відповідних позицій об’єднані в пари. Отриманий ітератор містить кортежі , де перший елемент з кожного списку поєднується разом, другий елемент з кожного списку поєднується разом і так далі.



Python3






name>=> [>'Manjeet'>,>'Nikhil'>,>'Shambhavi'>,>'Astha'> ]> roll_no>=> [>4>,>1>,>3>,>2> ]> # using zip() to map values> mapped>=> zip>(name, roll_no)> print>(>set>(mapped))>

>

>

Вихід

{('Nikhil', 1), ('Shambhavi', 3), ('Manjeet', 4), ('Astha', 2)}>

Python zip() із переліком

Поєднання zip() і enumerate() корисний у сценаріях, коли потрібно обробити кілька списків або кортежів паралельно, а також потрібно отримати доступ до їхніх індексів для будь-якої конкретної мети.

Python3




names>=> [>'Mukesh'>,>'Roni'>,>'Chari'>]> ages>=> [>24>,>50>,>18>]> for> i, (name, age)>in> enumerate>(>zip>(names, ages)):> >print>(i, name, age)>

>

>

Вихід

0 Mukesh 24 1 Roni 50 2 Chari 18>

Python zip() зі словником

Функція zip() у Python використовується для об’єднання двох або більше ітерованих словники в єдиний ітератор, де відповідні елементи з вхідного ітератора об’єднані разом як кортежі. Під час використання zip() зі словниками він об’єднує ключі та значення словників на основі їхньої позиції в словнику.

Python3


масив сортування java



stocks>=> [>'GEEKS'>,>'For'>,>'geeks'>]> prices>=> [>2175>,>1127>,>2750>]> new_dict>=> {stocks: prices>for> stocks,> >prices>in> zip>(stocks, prices)}> print>(new_dict)>

>

>

Вихід

{'GEEKS': 2175, 'For': 1127, 'geeks': 2750}>

Python zip() із кортежем

При використанні з кортежами, zip() працює, об’єднуючи елементи з кортежів на основі їх позицій. Отриманий ітератор містить кортежі, де i-й кортеж містить i-й елемент із кожного вхідного кортежу.

Python3




tuple1>=> (>1>,>2>,>3>)> tuple2>=> (>'a'>,>'b'>,>'c'>)> zipped>=> zip>(tuple1, tuple2)> result>=> list>(zipped)> print>(result)>

>

>

Вихід:

[(1, 'a'), (2, 'b'), (3, 'c')]>

Python zip() із кількома ітераціями

Функцію Python zip() також можна використовувати для об’єднання більше двох ітерацій. Він може приймати кілька ітерацій як вхідні дані та повертати ітерацію кортежів, де кожен кортеж містить елементи з відповідних позицій вхідних ітерацій.

Python3




list1>=> [>1>,>2>,>3>]> list2>=> [>'a'>,>'b'>,>'c'>]> list3>=> [>'x'>,>'y'>,>'z'>]> zipped>=> zip>(list1, list2, list3)> result>=> list>(zipped)> print>(result)>

рядок concat java
>

>

Вихід

[(1, 'a', 'x'), (2, 'b', 'y'), (3, 'c', 'z')]>

Стиснення списків різного розміру

Функція zip() перебиратиме лише найменший переданий список. Якщо надати списки різної довжини, результуюча комбінація матиме стільки, скільки пройдений найменший список. У наступному прикладі коду:

Python3




# Define lists for 'persons', 'genders', and a tuple for 'ages'> persons>=> [>'Chandler'>,>'Monica'>,>'Ross'>,>'Rachel'>,>'Joey'>,>'Phoebe'>,>'Joanna'>]> genders>=> [>'Male'>,>'Female'>,>'Male'>,>'Female'>,>'Male'>,>'Female'>,>'Female'>]> ages>=> (>35>,>36>,>38>,>34>)> # Create a zipped object combining the 'persons' and 'genders'> #lists along with the 'ages' tuple> zipped_result>=> zip>(persons, genders, ages)> # Print the zipped object> print>(>'Zipped result as a list:'>)> for> i>in> list>(zipped_result):> >print>(i)>

>

>

Вихід

Zipped result as a list: ('Chandler', 'Male', 35) ('Monica', 'Female', 36) ('Ross', 'Male', 38) ('Rachel', 'Female', 34)>

Розпакування за допомогою zip()

Розархівування означає перетворення заархівованих значень назад в індивідуальне я, як вони були. Це робиться за допомогою * оператор.

Python3




# initializing lists> name>=> [>'Manjeet'>,>'Nikhil'>,>'Shambhavi'>,>'Astha'>]> roll_no>=> [>4>,>1>,>3>,>2>]> marks>=> [>40>,>50>,>60>,>70>]> # using zip() to map values> mapped>=> zip>(name, roll_no, marks)> # converting values to print as list> mapped>=> list>(mapped)> # printing resultant values> print>(>'The zipped result is : '>, end>=>'')> print>(mapped)> print>(>' '>)> # unzipping values> namz, roll_noz, marksz>=> zip>(>*>mapped)> print>(>'The unzipped result: '>, end>=>'')> # printing initial lists> print>(>'The name list is : '>, end>=>'')> print>(namz)> print>(>'The roll_no list is : '>, end>=>'')> print>(roll_noz)> print>(>'The marks list is : '>, end>=>'')> print>(marksz)>

java читання csv

>

>

Вихід

The zipped result is : [('Manjeet', 4, 40), ('Nikhil', 1, 50), ('Shambhavi', 3, 60), ('Astha', 2, 70)] The unzipped result: The name list is : ('Manjeet', 'Nikhil', 'Shambhavi', 'Astha') The roll_no list is : (4, 1, 3, 2) The marks list is : (40, 50, 60, 70)>

Використання zip() із циклами Python

Існує багато можливих програм, які можна сказати, що вони виконуються за допомогою zip база даних студентів або система показників або будь-яка інша утиліта, яка вимагає відображення груп. Нижче наведено невеликий приклад системи показників.

Python3




# Python code to demonstrate the application of> # zip()> # initializing list of players.> players>=> [>'Sachin'>,>'Sehwag'>,>'Gambhir'>,>'Dravid'>,>'Raina'>]> # initializing their scores> scores>=> [>100>,>15>,>17>,>28>,>43>]> # printing players and scores.> for> pl, sc>in> zip>(players, scores):> >print>(>'Player : %s Score : %d'> %> (pl, sc))>

>

>

Вихід

Player : Sachin Score : 100 Player : Sehwag Score : 15 Player : Gambhir Score : 17 Player : Dravid Score : 28 Player : Raina Score : 43>