🐍

Dict si Set Comprehensions

Programare Python Intermediar 1 min citire 0 cuvinte

Dict si Set Comprehensions

Dict Comprehension

Creeaza dictionare intr-o expresie concisa:

{cheie: valoare for element in iterabil}

Exemple:

# Patrate
patrate = {x: x**2 for x in range(5)}
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

# Din doua liste
chei = ["a", "b", "c"]
valori = [1, 2, 3]
d = {k: v for k, v in zip(chei, valori)}
# {'a': 1, 'b': 2, 'c': 3}

# Inversare cheie-valoare
original = {"a": 1, "b": 2}
inversat = {v: k for k, v in original.items()}
# {1: 'a', 2: 'b'}

# Cu conditie
pare = {x: x**2 for x in range(10) if x % 2 == 0}
# {0: 0, 2: 4, 4: 16, 6: 36, 8: 64}

Set Comprehension

Creeaza seturi intr-o expresie concisa:

{expresie for element in iterabil}

Exemple:

# Patrate unice
patrate = {x**2 for x in range(-3, 4)}
# {0, 1, 4, 9}

# Litere unice (lowercase)
text = "Hello World"
litere = {c.lower() for c in text if c.isalpha()}
# {'h', 'e', 'l', 'o', 'w', 'r', 'd'}

# Lungimi unice de cuvinte
cuvinte = ["ana", "bob", "alice", "dan"]
lungimi = {len(c) for c in cuvinte}
# {3, 5}

Comparatie Sintaxa

Tip Sintaxa Rezultat
List [x for x in ...] Lista
Dict {k: v for ...} Dictionar
Set {x for x in ...} Set
Generator (x for x in ...) Generator

Puncte Cheie

  • Dict: {cheie: valoare for ...}
  • Set: {expresie for ...}
  • Set elimina automat duplicatele
  • Ambele suporta conditii cu if

📚 Articole Corelate