in / not in în Python

Operatori Python 3.0+

Verifică dacă o valoare se află într-o listă, text, dicționar sau mulțime.

Sintaxă
element in colectie
element not in colectie

Ce face in / not in

x in colectie returnează True dacă x este printre elementele colecției. În texte caută un subșir, în dicționare caută printre chei, nu printre valori.

Căutarea în set și dict este foarte rapidă (timp constant), iar în liste se verifică element cu element. Pentru verificări repetate într-o colecție mare, transform-o în mulțime.

Același cuvânt in apare și în bucla for x in colectie, unde are rolul de a parcurge colecția.

Exemple

Exemplul 1: În liste, texte și dicționare

orase = ["Iași", "Cluj", "Brașov"]
print("Cluj" in orase)
print("Sibiu" not in orase)
print("ași" in "Iași")

stoc = {"mere": 50, "pere": 0}
print("mere" in stoc)
print(50 in stoc)
print(50 in stoc.values())

Rezultat

True
True
True
True
False
True

Exemplul 2: Înlocuirea mai multor comparații

zi = "sâmbătă"
if zi in ("sâmbătă", "duminică"):
    print("Weekend!")

Rezultat

Weekend!

Greșeli frecvente

  • Cauți o valoare într-un dicționar cu in și primești False. in verifică cheile; pentru valori folosește in d.values().

Comenzi înrudite

  • and, or, not: Operatorii logici: „și”, „sau” și negația.
  • is / is not: Verifică dacă două nume arată spre exact același obiect din memorie.
  • 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.
  • str.find(), rfind(), index() și rindex(): Caută un subșir într-un text și returnează poziția primei (sau ultimei) apariții.