Sobes.tech
Junior

Opowiedz o typie danych set.

sobes.tech AI

Odpowiedź od AI

Typ danych set w Pythonie reprezentuje nieuporządkowaną sekwencję unikalnych elementów.

Główne właściwości:

  • Nieuporządkowane: Elementy w zbiorze nie mają ustalonego porządku.
  • Unikalne: Każda wartość może występować w zbiorze tylko raz.
  • Zmienne: Zbiory mogą dodawać i usuwać elementy (z wyjątkiem frozenset).
  • Elementy muszą być haszowalne: Obsługiwane są niemutowalne typy danych (liczby, łańcuchy, krotki). Mutowalne typy (listy, słowniki) nie mogą być używane.

Tworzenie:

# Tworzenie pustego zbioru
empty_set = set()

# Tworzenie zbioru z listy
moja_lista = [1, 2, 3, 2, 4]
zbior_z_listy = set(moja_lista) # zbior_z_listy będzie {1, 2, 3, 4}

# Tworzenie zbioru za pomocą nawiasów klamrowych
bezpośredni_zbior = {5, 6, 7}

Podstawowe operacje:

Operacja Metoda Opis
Dodanie elementu add(element) Dodaje element do zbioru.
Usunięcie elementu remove(element) Usuwa element. Rzuca błąd, jeśli nie ma.
Usunięcie elementu (bez błędu) discard(element) Usuwa element. Nie robi nic, jeśli nie ma.
Suma zbiorów union(), ` `
Części wspólne intersection(), & Zwraca nowy zbiór z elementami wspólnymi.
Różnica difference(), - Elementy pierwszego, których nie ma w drugim.
Różnica symetryczna symmetric_difference(), ^ Elementy, które są tylko w jednym z nich.
Sprawdzenie obecności in Wartość boolowska, czy element jest w zbiorze.

Przykłady użycia:

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

# Suma
suma = set1.union(set2) # suma = {1, 2, 3, 4, 5, 6}

# Części wspólne
wspolne = set1 & set2 # wspolne = {3, 4}

# Różnica
d = set1 - set2 # d = {1, 2}

# Sprawdzenie obecności
czy_prezent = 3 in set1 # czy_prezent = True

Zastosowania w QA:

  • Wyszukiwanie duplikatów na listach danych.
  • Porównanie dwóch zestawów wyników (np. oczekiwanych i rzeczywistych).
  • Filtrowanie unikalnych elementów z sekwencji.
  • Szybkie sprawdzanie obecności elementu w dużej kolekcji danych.

frozenset: Niezmienny odpowiednik zbioru. Używany, gdy potrzebny jest niezmienny zbiór (np. jako klucz w słowniku).