πŸ”Ž Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мноТСство Π² Python: простой Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мноТСство Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ структуру Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ "мноТСство" ΠΈΠ»ΠΈ "set". Для создания мноТСства Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки {} ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ set(). НапримСр:

    # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мноТСства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок
    my_set = {1, 2, 3, 4, 5}

    # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мноТСства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ set()
    my_set = set([1, 2, 3, 4, 5])
    
ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π² Python содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты ΠΈ нСупорядочСнноС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ мноТСствами, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ объСдинСниС, пСрСсСчСниС ΠΈ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ встроСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. НапримСр:

    set1 = {1, 2, 3}
    set2 = {3, 4, 5}

    # ОбъСдинСниС мноТСств
    union_set = set1.union(set2)  # {1, 2, 3, 4, 5}

    # ΠŸΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ мноТСств
    intersection_set = set1.intersection(set2)  # {3}
    
    # Π Π°Π·Π½ΠΎΡΡ‚ΡŒ мноТСств
    difference_set = set1.difference(set2)  # {1, 2}
    
НадСюсь, это ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мноТСство Π² Python. Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ вопросы, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ.

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

Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мноТСство Π² Python

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

1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мноТСства

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мноТСство Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки {} ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ set(). НапримСр:

numbers = {1, 2, 3, 4, 5}
print(numbers)

names = set(["Alice", "Bob", "Charlie"])
print(names)

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм Π΄Π²Π° мноТСства. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ numbers содСрТит числа ΠΎΡ‚ 1 Π΄ΠΎ 5, Π° мноТСство names содСрТит ΠΈΠΌΠ΅Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… людСй.

2. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтов Π² мноТСство

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ элСмСнты Π² мноТСство с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° add() ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° update(). НапримСр:

fruits = {"apple", "banana", "orange"}
fruits.add("mango")
print(fruits)

fruits.update(["grape", "pineapple"])
print(fruits)

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ добавляСм Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Ρ€ΡƒΠΊΡ‚ "mango" Π² мноТСство fruits ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° add(). Π—Π°Ρ‚Π΅ΠΌ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° update(), ΠΌΡ‹ добавляСм нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ² ("grape" ΠΈ "pineapple") Π² мноТСство fruits. ΠœΠ΅Ρ‚ΠΎΠ΄ update() ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π»ΡŽΠ±ΡƒΡŽ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ список ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мноТСство.

3. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов ΠΈΠ· мноТСства

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты ΠΈΠ· мноТСства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° remove(), discard() ΠΈΠ»ΠΈ pop(). НапримСр:

colors = {"red", "green", "blue"}
colors.remove("green")
print(colors)

colors.discard("yellow") # Ссли элСмСнта Π½Π΅Ρ‚, Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
print(colors)

removed_color = colors.pop()
print(removed_color, colors)

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ удаляСм элСмСнт "green" ΠΈΠ· мноТСства colors с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° remove(). Если элСмСнт отсутствуСт, ΠΌΠ΅Ρ‚ΠΎΠ΄ remove() Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ KeyError. ΠœΠ΅Ρ‚ΠΎΠ΄ discard() Ρ‚Π°ΠΊΠΆΠ΅ удаляСт элСмСнт ΠΈΠ· мноТСства, Π½ΠΎ Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ссли элСмСнт отсутствуСт. ΠœΠ΅Ρ‚ΠΎΠ΄ pop() удаляСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ случайный элСмСнт ΠΈΠ· мноТСства.

4. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с мноТСствами

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с мноТСствами, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ объСдинСниС, пСрСсСчСниС ΠΈ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. НапримСр:

set1 = {1, 2, 3}
set2 = {3, 4, 5}

union_set = set1 | set2 # объСдинСниС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ |
print(union_set)

intersection_set = set1 & set2 # пСрСсСчСниС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ &
print(intersection_set)

difference_set = set1 - set2 # Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ -
print(difference_set)

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм Π΄Π²Π° мноТСства set1 ΠΈ set2. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° | ΠΌΡ‹ выполняСм объСдинСниС мноТСств ΠΈ сохраняСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² union_set. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° & ΠΌΡ‹ выполняСм пСрСсСчСниС ΠΈ сохраняСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² intersection_set. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° - ΠΌΡ‹ выполняСм Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ ΠΈ сохраняСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² difference_set.

5. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Python ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с мноТСствами, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ clear(), copy(), issubset(), issuperset() ΠΈ union(). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² соотвСтствии с вашими потрСбностями. НапримСр:

set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5}

set1.clear() # ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ мноТСство set1
print(set1)

set_copy = set2.copy() # создаСт копию мноТСства set2
print(set_copy)

print(set1.issubset(set2)) # провСряСт, являСтся Π»ΠΈ set1 подмноТСством set2
print(set2.issuperset(set1)) # провСряСт, являСтся Π»ΠΈ set2 надмноТСством set1

set3 = set1.union(set2) # ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ мноТСства set1 ΠΈ set2
print(set3)

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ clear() для удалСния всСх элСмСнтов ΠΈΠ· мноТСства set1, ΠΌΠ΅Ρ‚ΠΎΠ΄ copy() для создания ΠΊΠΎΠΏΠΈΠΈ мноТСства set2, ΠΌΠ΅Ρ‚ΠΎΠ΄ issubset() для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, являСтся Π»ΠΈ set1 подмноТСством set2, ΠΌΠ΅Ρ‚ΠΎΠ΄ issuperset() для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, являСтся Π»ΠΈ set2 надмноТСством set1 ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ union() для объСдинСния мноТСств set1 ΠΈ set2.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ полная прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с мноТСствами Π² Python. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ мноТСства ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для хранСния ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этими элСмСнтами.

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

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

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

#32. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° (set) ΠΈ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ | Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

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

πŸ”₯ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ API Π² Python? Π£Π·Π½Π°ΠΉ всС сСкрСты ΠΈ возмоТности! 🐍

πŸ” ΠŸΠΎΡ‡Π΅ΠΌΡƒ Python Π½Π΅ станСт языком программирования Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ? πŸ€”

Как пСрСвСсти ΠΈΠ· дСсятичной Π² Π»ΡŽΠ±ΡƒΡŽ систСму счислСния Π² Python? πŸ’»

πŸ”Ž Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мноТСство Π² Python: простой Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ”§ Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ git для Python Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

Как Π½Π°ΠΉΡ‚ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ элСмСнты Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ πŸ§πŸ”?

πŸ” Как Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ Python: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ стратСгии πŸ”₯