set.remove(), discard() și pop() în Python

Scot elemente dintr-o mulțime: remove dă eroare dacă lipsesc, discard nu, pop scoate unul oarecare.

Sintaxă
multime.remove(element)
multime.discard(element)
multime.pop()

Ce face set.remove(), discard() și pop()

remove(x) șterge elementul și aruncă KeyError dacă nu există. discard(x) șterge elementul dacă există și nu face nimic altfel, fără eroare.

pop() scoate și returnează un element oarecare (mulțimile nu au ordine). Pe o mulțime goală aruncă KeyError.

Parametri

Parametru Descriere
element Pentru remove și discard: valoarea de șters.

Ce returnează

remove, discard: None. pop: elementul scos.

Exemple

Exemplul 1: remove față de discard

etichete = {"nou", "reducere", "popular"}
etichete.discard("inexistent")
etichete.remove("nou")
print(sorted(etichete))
try:
    etichete.remove("inexistent")
except KeyError as e:
    print("KeyError:", e)

Rezultat

['popular', 'reducere']
KeyError: 'inexistent'

Exemplul 2: Golire cu pop()

de_procesat = {3, 1, 2}
total = 0
while de_procesat:
    total += de_procesat.pop()
print(total, de_procesat)

Rezultat

6 set()

Greșeli frecvente

  • Te bazezi pe faptul că pop() scoate „primul” sau „cel mai mic” element. Ordinea nu este garantată.

Comenzi înrudite

  • set (mulțimi): Mulțimea este o colecție fără duplicate și fără ordine, utilă pentru valori unice și operații de reuniune sau intersecție.
  • set.add(): Adaugă un element într-o mulțime; dacă există deja, nu se întâmplă nimic.
  • list.remove(): Șterge din listă prima apariție a unei valori.