GirlsGoIT Wiki (ro)
RU
  • Introducere
  • Unelte
    • Slack
    • Visual Studio Code
    • CodeSandbox
      • Cum rezolvi un task la proiect
      • Cum rezolvi un exercițiu
    • GitHub
  • FRONTEND STATIC
    • Internet
    • HTML
    • CSS
    • Exerciții
      • Erontend Static Exercitii
  • FRONTEND DINAMIC
    • JavaScript
      • Introducere
      • Consola Browser'ului
      • Variabile
      • Tipuri de date
      • Operatori
      • JavaScript & HTML
      • Funcții
      • DOM & Window API
      • Math API
      • Condiționale (if)
      • Cicluri (for & while)
    • Vue.js
      • Componente Vue
      • Componente & Forme
      • Lifecycle hooks
      • Comunicare între componente
      • Vue Router
      • Axios
      • Instalare locală
    • Exercitii
    • Rest API
      • Rest api GET
      • Rest api GET one
      • Rest api POST
      • Rest api PUT
      • Rest api DELETE
  • PYTHON
    • Introducere
    • Variabile
    • Tipuri de Date
    • Operatori
    • Control Flow
    • Liste
    • Cicluri for
    • Funcții
    • Dictionare
    • Seturi
    • Fișiere
    • Try-except-finally. Lambda
    • Librării, module
    • Exercitii
      • Variabile
      • TIpuri de Date
      • Operatori
      • If...else
      • Liste
      • Cicluri for
      • Funcții
      • Dicționare
      • Seturi
      • Fișiere
      • Try-except, Lambda
      • Librării , module
      • ✨Mai multe exerciții ✨
    • Python Archiva
  • BACKEND
    • Instalare Python
    • Python OOP
    • Baze de date
    • Django
    • REST API's
    • Django REST Framework
    • Exerciții
      • Python OOP
      • Django
      • Django Rest Framework
  • Data Science
    • Introducere în Data Science
    • Vizualizarea datelor
      • Matplotlib
    • Numpy
    • Pandas
    • DecisionTrees
  • 3D Printing
    • Intro
    • Fusion 360 Intro
    • Sketch
    • Solid body
    • Arduino
    • Final Projects
  • ARHIVA
    • Milligram
    • Drone
      • Intro
    • Old Backend
      • Bootstrap
      • Hello Flask
      • DB Modeling
      • Ubuntu Quest
      • Baze de date
      • Heroku Deploy
    • Robotica NAO
      • Finalizarea proiectelor
      • Flow Control
      • Cum creez un Dialog box
      • Convenția GirlsGoIT Robotics Choregraphe
      • Tracker
      • Dialog - QiChat
    • Robotica
      • 1.1 mBlock
      • 1.2 Descărcarea, instalarea și conectarea
      • 1.3 Execută un program de pe mBlock IDE sau încarcă pe Board
      • 1.4 Conectarea prin USB, Bluetooth sau 2.4GHz
      • 2.1 Programe Simple
      • 2.2 Senzori
      • 2.3 Exerciții avansate - Scratch
      • 3.0.1 Instalare Arduino IDE
      • 3.0.2 Instalare Arduino IDE WEB
      • 3.1 Configurare Arduino IDE
      • 3.2 Introducere în limbajul C
      • 3.3 Exemple Arduino - mBot
      • 3.4 Line follow - Arduino
      • 3.5 Ultimate robot
      • 4.1 Planificarea și managementul proiectelor
      • Custom robot
      • Noțiuni și explicații
      • Delay fara sa opreasca programul
      • Alte resurse și exemple
Powered by GitBook
On this page
  • Intro
  • Dicționar gol
  • Accesarea elementelor
  • Daca cheie este in dicționar
  • Modificarea valorilor
  • Adăugarea valorilor
  • Ștergerea elementelor
  • Ștergera dicționarului
  • Copierea dicționarului
  • Accesarea elementlor .2
  • Dicționar si tipuri de date
  1. PYTHON

Dictionare

Ca și dicționarul englez-român, el ne va ajută... sper....

PreviousFuncțiiNextSeturi

Last updated 3 years ago

Un dicționar în Python este o colecție de data neordonată, modificabilă, care nu permite duplicate.

Are formatul: { cheie : valoare }

Intro

d = {"cheie1": "valoare", "cheie2": "valoare2"}
print(d)

Un dicționar este asemănător cu o listă, doar că în cazul dicționarelor puteți să accesați valorile prin intermediul unei chei, și nu prin intermediul unui index. O cheie poate fi un string sau un număr.

Dicționarele sunt utile pentru asemenea lucruri ca: lista numerelor de telefoane (având perechile nume - număr), pagini de logare (având perechile adresa de e-mail - nume de utilizator) și nu doar!

Dicționar gol

dict_clear = {}

Accesarea elementelor

Putem accesa un element prin cheie (accesarea unei valori din dicționar după o cheie e aceeași cum am accesa valorile din liste după indecși)

d = {"cheie1": "câine", "cheie2": "valoare2"}
print(d["cheie1"])
print(d["cheie2"])

La fel putem accesa un element prin cheie utilizând metoda .get:

d = {"cheie1": "câine", "cheie2": "valoare2"}

print(d["cheie2"])
print(d.get("cheie3"))

Daca cheie este in dicționar

Cum verificăm dacă în următorul dicționar există cheia "cheie3"?

dictionar = {"cheie1": "valoare1", "cheie2": "valoare2"}

if "valoare1" in dictionar:
  print("valoare1 exista")
else:
  print("valoare1 nu exista")

Modificarea valorilor

Modificăm valorile din dicționar prin accesul la cheie.

d = {"cheie1": "valoare", "cheie2": "valoare2"}
print(d)

d["cheie1"] = "O noua valoare!"
print(d)

Adăugarea valorilor

La fel ca listele, dicționarele sunt "flexibile". Aceasta înseamnă că ele pot fi schimbate după ce au fost create. Un avantaj al acestui fapt este ceea că putem adăuga în dicționarele deja create noi perechi cheie-valoare, în felul următor:

d = {"cheie1": "tort", "cheie2": "valoare2"}
print(d)

d["cheie_noua"] = "valoare_noua"
print(d)

Ștergerea elementelor

.pop() și del - Șterge elementul cu ajutorul indexului specificat

.popitem() - Șterge ultimul element

.pop(cheie)

culori = {"verde":1, "galben":2, "rosu":3, "albastru":4}
print(culori)
print()

print("Dicționarul culori după ștergerea culorii albastru:")

culori.pop("albastru")
print(culori)

del name_dict['cheie']

culori = {"verde":1, "galben":2, "rosu":3, "albastru":4}
print(culori)
print()

print("Dicționarul culori după ștergerea culorii rosu:")

del culori['rosu']

print(culori)

.popitem()

culori = {"verde":1, "galben":2, "rosu":3, "albastru":4}
print(culori)
print()

print("Dicționarul culori după ștergerea ultimului element:")

culori.popitem()
print(culori)

Ștergera dicționarului

  • .clear() - șterge conținutul dicționarului

  • del - șterge dicționarul în sine

.clear()

dictionar = {1:"a", 2:"b", 3:"c"}
print(dictionar)

dictionar.clear()
print(dictionar)

del name_dict

dictionar = {1:"a", 2:"b", 3:"c"}
print(dictionar)

del dictionar
print(dictionar)

Copierea dicționarului

.copy() - Copie elementele dintr-un dicționar în alt dicționar

Daca vom utiliza dict2 = dict1, nu este corect, deoarece variabila dict1 este o referință la structura de date creată. Când atribuim unei noi variabile o variabilă existentă, se copiază referința, nu elementele.

dict1 = {1:"a", 2:"b", 3:"c"}

dict2 = dict1
print(dict2)

dict2[1] = "A"
print("dict1 ", dict1)
print("dict2 ", dict2)

.copy()

dict1 = {1:"a", 2:"b", 3:"c"}

dict2 = dict1.copy()
print(dict2)

dict2[1]="A"
print("dict1 ", dict1)
print("dict2 ", dict2)

Accesarea elementlor .2

dictionar = {"cheie1": "valoare", "cheie2": "valoare2", "cheie3": "valoare"}

for cheie in dictionar:
  print(cheie)

Însă pentru a accesa valorile, utilizăm metoda .values()

dictionar = {"cheie1": "valoare", "cheie2": "valoare2", "cheie3": "valoare3"}

for valoare in dictionar.values():
  print(valoare)

Pentru a accesa și cheile și valorile utilizăm metoda .items()

dictionar = {"cheie1": "valoare", "cheie2": "valoare2"}

for cheie, valoare in dictionar.items():
  print("Cheie:", cheie)
  print("Valoare:", valoare)
  print()

Dicționar si tipuri de date

Putem avea diferite tipuri de date ca valori. Şi diferite tipuri de date chei. Deci putem avea dicționare cu tipuri de date mixte!

d = {1: "valoare1", "cheie2": "valoare2", 3.3: 3, 5: "ceva" }
print(d)

Putem avea liste drept valori ale dicționarului

autori_carti = {
    "J.K.Rowling": ["Harry Potter 1", "Fantastic Beasts and Where To Find Them"], 
    "Dan Brown": ["Codul lui Da Vinci", "Fortareata digitala"]
    }

Accesarea unui element din dicționar de așa fel este similară cu accesarea valorilor dintr-o listă 2-Dimensională

autori_carti["J.K.Rowling"][0]

Putem accesa cheile unui dicționar cu

Mai multe despre dicționare: (, )

Code -- a of symbols whose primary purpose is to restrict comprehension.

+nested dictionary
more info
set
for