πŸ”“ Как Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ мноТСство Python: простой шаг-Π·Π°-шагом Π³Π°ΠΉΠ΄

Как Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ мноТСство Python?

Для распаковки мноТСства (set) Π² Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ распаковки "*", Ρ‚Π°ΠΊΠΆΠ΅ извСстный ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ "Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ°".

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


my_set = {"apple", "banana", "cherry"}
print(*my_set)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ "*my_set" распаковываСт мноТСство ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π΅Π³ΠΎ элСмСнты: "apple", "banana" ΠΈ "cherry".

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

НапримСр:


my_set1 = {1, 2, 3}
my_set2 = {4, 5, 6}
merged_set = {*my_set1, *my_set2}
print(merged_set)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм Π½ΠΎΠ²ΠΎΠ΅ мноТСство merged_set ΠΏΡƒΡ‚Π΅ΠΌ объСдинСния элСмСнтов ΠΈΠ· Π΄Π²ΡƒΡ… мноТСств my_set1 ΠΈ my_set2 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° распаковки. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ: {1, 2, 3, 4, 5, 6}.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ распаковки "*" Π² Python позволяСт Π²Π°ΠΌ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с элСмСнтами мноТСства ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сцСнариях.

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

Как Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ мноТСство Π² Python?

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ языка Python мноТСство являСтся нСупорядочСнной ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов. Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ, содСрТимоС мноТСства для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим способы распаковки мноТСства Π² Python ΠΈ прСдоставим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ понимания.

1. Распаковка мноТСства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ (*)

Один ΠΈΠ· способов Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ мноТСство Π² Python - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ распаковки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ (*). Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ позволяСт ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ всС элСмСнты мноТСства ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.


set_var = {1, 2, 3}
    
# Распаковка мноТСства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° *
print(*set_var)
    

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

1 2 3

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ распаковки (*) позволяСт Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ элСмСнты мноТСства ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ, отдСляя ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ.

2. Распаковка мноТСства Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ распаковки мноТСства - присвоСниС Π΅Π³ΠΎ элСмСнтов ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт мноТСства Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.


set_var = {1, 2, 3}
    
# Распаковка мноТСства Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
a, b, c = set_var
    
# Π’Ρ‹Π²ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
print(a)
print(b)
print(c)
    

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° даст ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

1
2
3
    

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт мноТСства присваиваСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

3. ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ элСмСнтов мноТСства

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ дСйствиС со всСми элСмСнтами мноТСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов.


set_var = {1, 2, 3}
    
# ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ элСмСнтов мноТСства
for item in set_var:
    print(item)
    

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

1
2
3
    

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту мноТСства ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ с Π½ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°.

4. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° unpack()

Python Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄ unpack(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ мноТСство Π² список. ΠœΠ΅Ρ‚ΠΎΠ΄ unpack() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список, содСрТащий всС элСмСнты мноТСства.


set_var = {1, 2, 3}
    
# Распаковка мноТСства Π² список
list_var = set_var.unpack()
    
# Π’Ρ‹Π²ΠΎΠ΄ списка
print(list_var)
    

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этого ΠΊΠΎΠ΄Π°:

[1, 2, 3]

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ unpack() для прСобразования мноТСства Π² список ΠΈ дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ с элСмСнтами Π² спискС.

Π’Ρ‹Π²ΠΎΠ΄

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы распаковки мноТСства Π² Python. ΠœΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ распаковки (*), ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ элСмСнты мноТСства ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ элСмСнты мноТСства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ unpack() для прСобразования мноТСства Π² список.

Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с элСмСнтами мноТСства ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сцСнариях программирования Π½Π° языкС Python.

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

Python с нуля. Π£Ρ€ΠΎΠΊ 11 | ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π°

31 ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° Π² Python. Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… set

Π£Ρ€ΠΎΠΊΠΈ Python с нуля / #11 - ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° (set ΠΈ frozenset)

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

🐍 Как ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наТатия Π² Python: Π»Π΅Π³ΠΊΠΎ ΠΈ просто!

ΠšΡƒΠ΄Π° ΠΏΠΈΡ‚ΠΎΠ½ сохраняСт ΠΌΠΎΠ΄ΡƒΠ»ΠΈ? 🐍✨

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π½ΡƒΠ»ΠΈ ΠΈΠ· списка Π² Python? πŸ”„

πŸ”“ Как Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ мноТСство Python: простой шаг-Π·Π°-шагом Π³Π°ΠΉΠ΄

🐍Как ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Python Π² Linux: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΈ совСты

πŸ”₯ Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Telegram Π±ΠΎΡ‚Π° Π½Π° Python: ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ“Š Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ со ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ совСтами 🐍