πŸ”Ž Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ распаковку Π² Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство πŸ”§

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ распаковка Π² Python?

Распаковка Π² Python - это процСсс извлСчСния элСмСнтов ΠΈΠ· ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ присваиваниС ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ. Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ списки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ словари.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

# Распаковка списка
numbers = [1, 2, 3]
a, b, c = numbers
print(a)  # Π’Ρ‹Π²ΠΎΠ΄: 1
print(b)  # Π’Ρ‹Π²ΠΎΠ΄: 2
print(c)  # Π’Ρ‹Π²ΠΎΠ΄: 3

# Распаковка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
tuple = (4, 5, 6)
x, y, z = tuple
print(x)  # Π’Ρ‹Π²ΠΎΠ΄: 4
print(y)  # Π’Ρ‹Π²ΠΎΠ΄: 5
print(z)  # Π’Ρ‹Π²ΠΎΠ΄: 6

# Распаковка словаря
person = {'name': 'АлСксСй', 'age': 25, 'country': 'Россия'}
name, age, country = person.values()
print(name)     # Π’Ρ‹Π²ΠΎΠ΄: АлСксСй
print(age)      # Π’Ρ‹Π²ΠΎΠ΄: 25
print(country)  # Π’Ρ‹Π²ΠΎΠ΄: Россия

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, распаковка позволяСт Π½Π°ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ элСмСнтам ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π±Π΅Π· нСобходимости ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ ΠΏΠΎ индСксу ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Ρƒ.

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

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ распаковка Π² Python

Распаковка (unpacking) Π² Python - это ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ элСмСнты ΠΈΠ· списков, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΈΠ»ΠΈ словарСй ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ. Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ ΠΈ эффСктивно.

Распаковка списков ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

Для распаковки списков ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π² Python ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ "развСртывания" - "*", пСрСдавая Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ.


my_list = [1, 2, 3]
a, b, c = my_list
print(a)  # Π’Ρ‹Π²ΠΎΠ΄: 1
print(b)  # Π’Ρ‹Π²ΠΎΠ΄: 2
print(c)  # Π’Ρ‹Π²ΠΎΠ΄: 3

    

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ объявляСм список my_list ΠΈ распаковываСм Π΅Π³ΠΎ элСмСнты Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ a, b ΠΈ c. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Распаковка словарСй

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Python Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ словари. ΠŸΡ€ΠΈ распаковкС словаря ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту словаря соотвСтствуСт пСрСмСнная, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ распакован.


my_dict = {"name": "АлСксСй", "age": 25, "Π³ΠΎΡ€ΠΎΠ΄": "Москва"}
name, age, city = my_dict.values()
print(name)  # Π’Ρ‹Π²ΠΎΠ΄: АлСксСй
print(age)   # Π’Ρ‹Π²ΠΎΠ΄: 25
print(city)  # Π’Ρ‹Π²ΠΎΠ΄: Москва

    

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создаСм ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ my_dict с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ значСниями. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ распаковываСм значСния словаря Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ name, age ΠΈ city, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π½ΠΈΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… элСмСнтов

Π’ΠΎ врСмя распаковки Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС элСмСнты списка, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΈΠ»ΠΈ словаря. ВмСсто этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ элСмСнты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ символ "_", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ "ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ".


my_list = [1, 2, 3, 4, 5]
a, _, _, d, e = my_list
print(a)  # Π’Ρ‹Π²ΠΎΠ΄: 1
print(d)  # Π’Ρ‹Π²ΠΎΠ΄: 4
print(e)  # Π’Ρ‹Π²ΠΎΠ΄: 5

    

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ ΠΌΡ‹ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ элСмСнты списка, присваивая ΠΈΡ… символу "_". Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ элСмСнты Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅.

Распаковка ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Распаковка Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ списки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈΠ»ΠΈ словари для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΡ… элСмСнтов Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.


def multiply(a, b, c):
    return a * b * c

my_list = [2, 3, 4]
result = multiply(*my_list)
print(result)  # Π’Ρ‹Π²ΠΎΠ΄: 24

    

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ multiply, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ распаковываСм список my_list ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅Π³ΠΎ элСмСнты Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ multiply с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° "*". Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ произвСдСния выводится Π½Π° экран.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Распаковка Π² Python - это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π½Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ списки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ словари, получая доступ ΠΊ ΠΈΡ… элСмСнтам Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ распаковку ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ понятным ΠΈ эффСктивным.

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

#40. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ * ΠΈ ** для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΈ распаковки ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ | Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

ΠšΡƒΡ€Ρ Python 3 | Распаковка Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ тонкости Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ *args ΠΈ **kwargs Π² python?

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

πŸ”§ Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ tkinter - ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ руководство

🐍 Бколько ΠΏΠΈΡ‚ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΆΠΈΡ‚ΡŒ Π±Π΅Π· Π΅Π΄Ρ‹? Π£Π·Π½Π°ΠΉΡ‚Π΅ всС подробности! 🍽️

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ сортировка python? πŸπŸ”

πŸ”Ž Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ распаковку Π² Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство πŸ”§

πŸ“ˆ Как ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° 100 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅? 🐍 Π‘Π°ΠΌΡ‹ΠΉ простой способ! πŸ”₯

πŸ”§ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ VK API Π² Python: подробная инструкция с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

🐍 Как ΠΏΠΈΡ‚ΠΎΠ½ ΠΏΡ€ΠΎΠ³Π»ΠΎΡ‚ΠΈΠ» Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π½Π° Π²ΠΈΠ΄Π΅ΠΎ: ΡƒΠΆΠ°ΡΠ°ΡŽΡ‰Π°Ρ история