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