Sets
Les sets sont equivalent au liste, mais sont non ordonnée et garantisse l’unicité des valeurs.
fruits = {"apple", "banana", "grape"}
print(type(fruits))
# Prints: <class 'set'>
print(fruits)
# Prints: {'banana', 'grape', 'apple'}On peut utiliser un set pour venir nettoyer une list par exemple.
# on reçoit une list avec des plusieurs valeur identique
def remove_duplicates(spells):
clean = set() # on init un set
# on ajoute dans le set les valeurs de la list
# les doublons sont automatiquement nettoyer
for spell in spells:
clean.add(spell)
# on init une nouvelle list
spell_list = []
# on envoie les valeurs nettoyer dans la nouvelle liste
for spell in clean:
spell_list.append(spell)
return spell_listadd(): ajouter une valeur
fruits = {"apple", "banana", "grape"}
fruits.add("pear")
print(fruits)
# Prints: {'pear', 'banana', 'grape', 'apple'}set(): création de sets vide
fruits = set()
fruits.add("pear")
print(fruits)
# Prints: {'pear'}Parcourir
L’ordre des éléments itéré n’est pas garantis.
fruits = {"apple", "banana", "grape"}
for fruit in fruits:
print(fruit)
# Prints:
# banana
# grape
# appleremove(): supprimer une valeur
fruits = {"apple", "banana", "grape"}
fruits.remove("apple")
print(fruits)
# Prints: {'banana', 'grape'}Set soustraction
On peut venir réaliser des opérations sur des sets. Par exemple, faire une soustraction. Cela viens supprimer toutes les valeurs dans le second set depuis le premier
set1 = {"apple", "banana", "grape"}
set2 = {"apple", "banana"}
set3 = set1 - set2
print(set3)
# Prints: {'grape'}Conversion list -> set
On reçoit deux liste. On viens les convertir et la nettoyer
def find_missing_ids(first_ids, second_ids):
return set(first_ids) - set(second_ids)