🐍 Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ мноТСство Π² Python? Π£Π·Π½Π°ΠΉΡ‚Π΅ всС ΠΎ мноТСствах ΠΈ ΠΈΡ… использовании Π² Python! πŸ€”

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ мноТСство Π² Python?

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ (set) Π² Python - это нСупорядочСнная коллСкция ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ мноТСства являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ элСмСнтов. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² мноТСствС Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ set(). Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:


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

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мноТСства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ set()
my_set = set([1, 2, 3, 4, 5])

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


# ОбъСдинСниС мноТСств
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)
print(union_set)  # Π’Ρ‹Π²ΠΎΠ΄: {1, 2, 3, 4, 5}

# ΠŸΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ мноТСств
intersection_set = set1.intersection(set2)
print(intersection_set)  # Π’Ρ‹Π²ΠΎΠ΄: {3}

# Π Π°Π·Π½ΠΎΡΡ‚ΡŒ мноТСств
difference_set = set1.difference(set2)
print(difference_set)  # Π’Ρ‹Π²ΠΎΠ΄: {1, 2}

# БиммСтричСская Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ мноТСств
symmetric_difference_set = set1.symmetric_difference(set2)
print(symmetric_difference_set)  # Π’Ρ‹Π²ΠΎΠ΄: {1, 2, 4, 5}

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ элСмСнта Π² мноТСствС ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, являСтся Π»ΠΈ ΠΎΠ΄Π½ΠΎ мноТСство подмноТСством Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:


# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия элСмСнта Π² мноТСствС
my_set = {1, 2, 3}
print(1 in my_set)  # Π’Ρ‹Π²ΠΎΠ΄: True
print(4 in my_set)  # Π’Ρ‹Π²ΠΎΠ΄: False

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° подмноТСства
set1 = {1, 2}
set2 = {1, 2, 3}
print(set1.issubset(set2))  # Π’Ρ‹Π²ΠΎΠ΄: True
print(set2.issubset(set1))  # Π’Ρ‹Π²ΠΎΠ΄: False

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° Π² Python ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов. Они ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… сцСнариях, Π³Π΄Π΅ трСбуСтся Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ значСниями.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ мноТСство Π² Python?

Π’ Python мноТСство (Set) прСдставляСт собой Π½Π΅ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов. Из-Π·Π° своСй особСнности – отсутствия Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² – ΠΎΠ½ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… областях программирования ΠΈ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

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

Π’ Python мноТСство ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколькими способами. Один ΠΈΠ· Π½ΠΈΡ… – использованиС Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок ΠΈ пСрСчислСниС элСмСнтов Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ:

my_set = {1, 2, 3, 4}

Π’Π°ΠΊΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мноТСство ΠΈΠ· списка, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ set():

my_list = [1, 2, 3, 4]
my_set = set(my_list)

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ мноТСствами

Python прСдоставляСт мноТСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с мноТСствами:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнта: МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ add() для добавлСния Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Π² мноТСство:
  • my_set = {1, 2, 3}
    my_set.add(4)
  • Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта: ΠœΠ΅Ρ‚ΠΎΠ΄ remove() удаляСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ элСмСнт ΠΈΠ· мноТСства:
  • my_set = {1, 2, 3, 4}
    my_set.remove(3)
  • ОбъСдинСниС мноТСств: МоТно ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° мноТСства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° union() ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° " | ":
  • set1 = {1, 2, 3}
    set2 = {3, 4, 5}
    union_set = set1.union(set2)
    # Или с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°
    union_set = set1 | set2
  • ΠŸΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ мноТСств: ΠœΠ΅Ρ‚ΠΎΠ΄ intersection() ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ " & " Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ пСрСсСчСниС Π΄Π²ΡƒΡ… мноТСств:
  • set1 = {1, 2, 3}
    set2 = {3, 4, 5}
    intersection_set = set1.intersection(set2)
    # Или с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°
    intersection_set = set1 & set2
  • Π Π°Π·Π½ΠΎΡΡ‚ΡŒ мноТСств: ΠœΠ΅Ρ‚ΠΎΠ΄ difference() ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ " - " Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ Π΄Π²ΡƒΡ… мноТСств:
  • set1 = {1, 2, 3}
    set2 = {2, 4, 5}
    difference_set = set1.difference(set2)
    # Или с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°
    difference_set = set1 - set2
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° подмноТСства: ΠœΠ΅Ρ‚ΠΎΠ΄ issubset() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, Ссли ΠΎΠ΄Π½ΠΎ мноТСство являСтся подмноТСством Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ:
  • set1 = {1, 2, 3}
    set2 = {1, 2}
    is_subset = set2.issubset(set1)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования мноТСств

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° Π² Python ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сцСнариях. НапримСр, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для удалСния Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² ΠΈΠ· списка ΠΈΠ»ΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия элСмСнта Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π±Π΅Π· нСобходимости ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ вСсь список.

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

# Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² ΠΈΠ· списка
my_list = [1, 2, 3, 2, 4, 3, 5]
unique_set = set(my_list)
unique_list = list(unique_set)
print(unique_list)  # Π’Ρ‹Π²ΠΎΠ΄: [1, 2, 3, 4, 5]

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия элСмСнта
my_set = {1, 2, 3, 4, 5}
if 3 in my_set:
    print("Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 3 Π΅ΡΡ‚ΡŒ Π²ΠΎ мноТСствС")
else:
    print("Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 3 отсутствуСт Π²ΠΎ мноТСствС")

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ обсудили, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ мноТСство Π² Python ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π°Π΄ мноТСствами. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами, ΠΈΡ… быстрого добавлСния ΠΈ удалСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, связанных с манипуляциями Π½Π°Π΄ элСмСнтами.

НС ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ мноТСства, ΠΊΠΎΠ³Π΄Π° ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, связанными с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ наличия элСмСнтов. Они ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ эффСктивным.

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

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

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

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

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

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ int Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅? πŸ”πŸ

πŸ”Ž Как Π½Π°ΠΉΡ‚ΠΈ наибольший элСмСнт массива Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: простой способ!

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌΠ½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: простыС ΠΈ эффСктивныС шаги для настройки

🐍 Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ мноТСство Π² Python? Π£Π·Π½Π°ΠΉΡ‚Π΅ всС ΠΎ мноТСствах ΠΈ ΠΈΡ… использовании Π² Python! πŸ€”

Python Launcher: Ρ‡Ρ‚ΠΎ это ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ?

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ функция insert Π² Python: ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Как Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ тСкст Π½Π° строки Π² Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°