Ce face set.difference() și symmetric_difference()
difference() (a - b) dă elementele din a care nu apar în b. symmetric_difference() (a ^ b) dă elementele care apar în exact una dintre cele două mulțimi.
Variantele _update (-=, ^=) modifică mulțimea curentă în loc să creeze una nouă. difference acceptă mai multe colecții; symmetric_difference doar una.
Parametri
| Parametru | Descriere |
|---|---|
other / *others |
Colecțiile comparate. |
Ce returnează
O mulțime nouă sau None (variantele _update).
Exemple
Exemplul 1: Ce s-a schimbat între două liste
ieri = {"mere", "pere", "prune"}
azi = {"pere", "prune", "caise"}
print("scoase:", sorted(ieri - azi))
print("adăugate:", sorted(azi.difference(ieri)))
print("schimbate:", sorted(ieri ^ azi))
ieri.difference_update(["pere"])
azi.symmetric_difference_update({"caise", "kiwi"})
print(sorted(ieri), sorted(azi))
Rezultat
scoase: ['mere']
adăugate: ['caise']
schimbate: ['caise', 'mere']
['mere', 'prune'] ['kiwi', 'pere', 'prune']
Greșeli frecvente
- Confunzi ordinea:
a - bnu este același lucru cub - a.
Comenzi înrudite
set.union() și set.update(): Reuniunea mulțimilor: toate elementele care apar în cel puțin una dintre ele.set.intersection() și intersection_update(): Intersecția mulțimilor: doar elementele comune tuturor.