πŸ”Ž Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ zip Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ использованиС 🐍

Zip Π² Python - это функция, которая позволяСт ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ элСмСнты Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… списков Π² ΠΎΠ΄ΠΈΠ½ список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ.


fruits = ['яблоко', 'Π±Π°Π½Π°Π½', 'Π³Ρ€ΡƒΡˆΠ°']
prices = [2, 1, 3]

zipped = zip(fruits, prices)

for item in zipped:
    print(item)

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния этого ΠΊΠΎΠ΄Π° Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅:


('яблоко', 2)
('Π±Π°Π½Π°Π½', 1)
('Π³Ρ€ΡƒΡˆΠ°', 3)

Ѐункция zip позволяСт эффСктивно ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ элСмСнты ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… списков ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² дальнСйшСм, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ†ΠΈΠΊΠ»Π΅.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Zip Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅?

Zip Π² Python - это функция, которая ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ элСмСнты ΠΈΠ· Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ содСрТит элСмСнты ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ индСкса ΠΈΠ· всСх исходных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Бинтаксис

Бинтаксис использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ zip выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


    zip(*iterables)
    

Ѐункция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ количСство ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ) ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈΠ· элСмСнтов с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ индСксом.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования zip

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ функция zip.


    names = ['Alice', 'Bob', 'Charlie']
    ages = [25, 30, 35]

    zipped = zip(names, ages)
    for name, age in zipped:
        print(name, age)
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° исходных ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: список ΠΈΠΌΠ΅Π½ ΠΈ список возрастов. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ zip, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ эти Π΄Π²Π° списка Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ zipped.

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» for для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов Π² ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ zipped ΠΈ распаковываСм ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ name ΠΈ age. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° print.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ:

    Alice 25
    Bob 30
    Charlie 35
    

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, функция zip ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ элСмСнты с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ индСксами ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ исходного списка ΠΈ создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ.

ИспользованиС zip с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ источников Π΄Π°Π½Π½Ρ‹Ρ…

Ѐункция zip Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². Если Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ исходных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ zip остановится, ΠΊΠΎΠ³Π΄Π° достигнСт ΠΊΠΎΠ½Ρ†Π° самого ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ исходного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:


    numbers = [1, 2, 3, 4, 5]
    letters = ['a', 'b', 'c']

    zipped = zip(numbers, letters)
    for number, letter in zipped:
        print(number, letter)
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ список чисСл ΠΈ список Π±ΡƒΠΊΠ². Π₯отя список чисСл содСрТит 5 элСмСнтов, Π° список Π±ΡƒΠΊΠ² - Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 3 элСмСнта, функция zip остановится послС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° Π² Ρ†ΠΈΠΊΠ»Π΅ for.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚:

    1 a
    2 b
    3 c
    

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, итСрация ΠΏΠΎ zip ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»Π°ΡΡŒ, ΠΊΠΎΠ³Π΄Π° Π±Ρ‹Π» достигнут ΠΊΠΎΠ½Π΅Ρ† списка Π±ΡƒΠΊΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Π±Ρ‹Π» самый ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ исходный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

БвязанныС примСнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ zip

Ѐункция zip ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ситуациях. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

  • ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списков Π² ΠΏΠ°Ρ€Ρ‹ ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ;
  • Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ нСскольким спискам ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ;
  • ОбъСдинСниС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ словарСй;
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ словаря ΠΈΠ· Π΄Π²ΡƒΡ… списков, Π³Π΄Π΅ ΠΎΠ΄ΠΈΠ½ список - ΠΊΠ»ΡŽΡ‡ΠΈ, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ список - значСния;
  • И ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

НадСюсь, данная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ zip Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Ѐункция zip являСтся ΠΌΠΎΡ‰Π½Ρ‹ΠΌ инструмСнтом для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… сцСнариях программирования.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

52 Ѐункция zip python. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ функция zip Π² Python

#58. Ѐункция zip. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования | Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π Π°Π±ΠΎΡ‚Π° с zip-Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ Π½Π° python (ΠΏΠΈΡ‚ΠΎΠ½)

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ” Как ввСсти элСмСнты Π² строку Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅? Π›ΡƒΡ‡ΡˆΠΈΠ΅ способы ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Как Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ символы Π² строкС Python: ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ...

πŸ” Как ΡƒΠ·Π½Π°Ρ‚ΡŒ количСство элСмСнтов Π² массивС ΠΏΠΈΡ‚ΠΎΠ½? ΠžΡ‚Π²Π΅Ρ‚ здСсь!

πŸ”Ž Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ zip Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ использованиС 🐍

πŸ” Как Π½Π°ΠΉΡ‚ΠΈ число-ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅? Π›Π΅Π³ΠΊΠΈΠΉ способ

πŸ” Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ большСС число Π² Python: простоС руководство 🐍

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ число Π² мноТСство Π² Python? 🐍