In Python, un dizionario è un insieme non ordinato di valori di dati potrebbe essere utilizzato per memorizzare i valori dei dati allo stesso modo di una mappa. A differenza di altri tipi di dati, che possono includere solo un singolo valore per elemento, i dizionari possono contenere anche un file chiave:valore paio. Per fare il dizionario più efficiente , viene offerto il valore-chiave.
Quando riguarda l'accesso agli attributi, il punto '.' (come in x.qualsiasi_attributo ) è tutto ciò con cui la maggior parte degli utenti ha familiarità. Detto semplicemente, l'accesso agli attributi è il processo per ottenere un oggetto connesso a quello che già possiedi . Può sembrare molto semplice a qualcuno che usa Python senza entrare troppo nello specifico. Tuttavia, c’è molto da fare dietro le quinte per questo processo relativamente semplice.
Cos'è _dict_?
Ogni modulo ha una proprietà unica chiamata __detto__. Questo dizionario contiene la tabella dei simboli del modulo . Le caratteristiche (scrivibili) di un elemento sono memorizzate in un dizionario o in un altro oggetto di mappatura.
Per dirla semplicemente, ogni oggetto in Python ha un file proprietà che è indicata dal simbolo __dict__ . Inoltre, questo oggetto ha tutte le proprietà che gli sono state specificate. Un altro nome per __dict__ è mappingproxy oggetto. Possiamo usare il dizionario tramite applicando la proprietà __dict__ ad un oggetto di classe.
Sintassi:
object.__dict__
Esempio :
class AnimalClass: def __init__(self,identity,age): self.identity = identity self.age = age def feature(self): if self.age == '10': return True else: return False ac = AnimalClass('Lion','10') print(ac.__dict__)
Produzione:
{'identity': 'Lion', 'age': '10'}
Esempio 2:
Questo esempio lo dimostrerà per mezzo di Attributo __dict__ , si potrebbe creare un dizionario da qualsiasi oggetto:
# class Flowers is defined class Flowers: # constructor def __init__(self): # keys are being initialized with # their corresponding values self.Rose = 'red' self.Lily = 'white' self.Lotus = 'pink' def displayit(self): print('The Dictionary from object fields belongs to the class Flowers :') # object animal of class Animals flower = Flowers() # calling displayit function flower.displayit() # calling the attribute __dict__ on flower # object and making it print it print(flower.__dict__)
Produzione:
The Dictionary from object fields belongs to the class Flowers : {'Rose': 'red', 'Lily': 'white', 'Lotus': 'pink'}
Esempio 3:
def funct(): pass funct.practice = 1 print(funct.__dict__) class PracticeClass: x = 1 def practice_function(self): pass print(PracticeClass.__dict__)
Produzione:
{'practice': 1} {'__module__': '__main__', 'x': 1, 'practice_function': , '__dict__': , '__weakref__': , '__doc__': None}
Utilizzo del dizionario senza l'uso di __dict__ in Python:
Creazione di un dizionario:
In Python, un dizionario può essere creato racchiudendo a elenco delle voci racchiuse tra parentesi graffe e separandole con una virgola . Il dizionario memorizza coppie di valori, dove un elemento della coppia è la chiave e un altro è la sua Chiave: valore . In contrasto con chiavi, Quale non possono essere ripetuti e devono essere immutabili, valori nei dizionari può contenere qualsiasi tipo di dati e può essere duplicato .
Gli elementi sono separati da virgole , ogni chiave è distinta dal suo valore con i due punti (:), e l'intera struttura è contenuta parentesi graffe . Un dizionario completamente privo di parole si scrive così: {} .
Le chiavi del dizionario devono essere immutabile , ad esempio numeri interi, tuple o stringhe , sebbene i valori possano essere di qualsiasi tipo. Nei dizionari Python, lo stesso nome di chiave scritto diversamente viene considerato come una chiave distinta. Per favore, prendine nota i tasti del dizionario fanno distinzione tra maiuscole e minuscole ; le chiavi con nome simile ma maiuscole e minuscole distinte verranno gestite diversamente.
Esempio :
# Creating a Dictionary # using Integer Keys only Dict = {1: 'JAVA', 2: 'T', 3: 'POINT'} print(' Creating a Dictionary by using Integer Keys : ') print(Dict) # Creating a Dictionary # using various Mixed keys Dict = {'Company': 'JavaTpoint', 7: [22, 35, 46, 97]} print(' Creating a Dictionary by using Mixed Keys : ') print(Dict)
Produzione:
Creating a Dictionary by using Integer Keys : {1: 'JAVA', 2: 'T', 3: 'POINT'} Creating a Dictionary by using Mixed Keys : {'Company': 'JavaTpoint', 7: [22, 35, 46, 97]}
IL metodo integrato dict() consente anche il creazione di dizionari . In poche parole due parentesi graffe {} insieme risulterà in un dizionario vuoto .
Esempio :
# Creating an empty Dictionary myDict = {} print('This is an Empty Dictionary: ') print(myDict) # Creating a Dictionary # using the dict() method myDict = dict({1: 'JAVA', 2: 'T', 3: 'POINT'}) print(' Creating a Dictionary by using the dict() method : ') print(myDict) # Creating a Dictionary # using each item as a different Pair myDict = dict([(1, 'JavaTpoint'), (2, 'Great')]) print(' Creating a Dictionary by using each item as a different pair : ') print(myDict)
Produzione:
This is an Empty Dictionary: {} Creating a Dictionary by using the dict() method : {1: 'JAVA', 2: 'T', 3: 'POINT'} Creating a Dictionary by using each item as a different pair : {1: 'JavaTpoint', 2: 'Great'}
Complessità per la creazione di un dizionario:
- Complessità temporale: O(lunghezza(dict))
- Complessità spaziale: SU)
Dizionari nidificati:
È una forma di dizionario in cui uno o più di uno keys ha un dizionario allegato come valore della chiave.
Esempio :
# Creating a Nested Dictionary # as mentioned above using a dictionary as a value to a key in # a dictionary myDict = dict({1: 'JAVA', 2: 'T', 3: 'POINT', 4: {1: 'JavaTpoint', 2: 'Great'}}) print(' Creating a Nested Dictionary : ') print(myDict)
Produzione:
Creating a Nested Dictionary : {1: 'JAVA', 2: 'T', 3: 'POINT', 4: {1: 'JavaTpoint', 2: 'Great'}}
Aggiunta di elementi a un dizionario:
Ci sono diversi metodi per aggiungere elementi a un dizionario Python. Specificando insieme il valore e la chiave, ad esempio, Dict[Chiave] = 'Valore', è possibile aggiungere un valore alla volta a un dizionario. Usando il funzione update() incorporata , è possibile modificare un valore esistente in un dizionario. È anche possibile espandere un dizionario esistente valori chiave nidificati .
metodi stringa java
Nota: quando si aggiunge un valore, il valore viene aggiornato se la combinazione chiave-valore esiste già. In caso contrario, una nuova chiave e un nuovo valore vengono aggiunti al dizionario.
Esempio :
# Creating Empty Dictionary myDict = {} print('Empty Dictionary: ') print(myDict) # Adding elements only one at a time myDict[0] = 'Java' myDict[3] = 'T' myDict[6] = 41 print(' Dictionary after the addition of 3 elements: ') print(myDict) # Adding a set of values # to a particular Key myDict['settingValues'] = 7, 8, 9 print(' Dictionary after the adding a set of values to a key : ') print(myDict) # Updating the existing Key's Value myDict[3] = 'tPoint' print(' Dictionary after Updated key value: ') print(myDict) # Adding Nested Key value to Dictionary myDict[8] = {'Nested' :{'A' : 'boy', 'B' : 'Girl'}} print(' Dictionary after Addition of a Nested Key: ') print(myDict)
Produzione:
Empty Dictionary: {} Dictionary after the addition of 3 elements: {0: 'Java', 3: 'T', 6: 41} Dictionary after the adding a set of values to a key : {0: 'Java', 3: 'T', 6: 41, 'settingValues': (7, 8, 9)} Dictionary after Updated key value: {0: 'Java', 3: 'tPoint', 6: 41, 'settingValues': (7, 8, 9)} Dictionary after Addition of a Nested Key: {0: 'Java', 3: 'tPoint', 6: 41, 'settingValues': (7, 8, 9), 8: {'Nested': {'A': 'boy', 'B': 'Girl'}}}
Complessità per l'aggiunta di elementi a un dizionario:
- Complessità temporale: O(1)/O(n)
- Complessità spaziale: O(1)
Accesso agli elementi del dizionario:
Un dizionario impiega chiavi , mentre altri tipi di dati richiedono l'indicizzazione per recuperare i valori. I tasti possono essere utilizzati con get() funzione O tra parentesi quadre [].
Nel caso in cui a Impossibile trovare la chiave nel dizionario, Viene prodotto KeyError se usiamo parentesi quadre []. D'altra parte, se la chiave non può essere localizzata, il file La funzione get() restituisce Nessuno.
Esempio :
# Python program to demonstrate the # accessing of an element, from a Dictionary # Creating a Dictionary myDict = {1: 'Java', 'name': 'T', 2: 'Point', 4: 'Website'} # accessing an element using key print('Accessing an element using the key:') print(myDict['name']) print('Accessing another element using the key:') print(myDict[4]) # accessing an element using the get() method print('Accessing an using the get() method:') print(myDict.get(2)) print('Accessing another using the get() method:') print(myDict.get(1))
Produzione:
Accessing an element using the key: T Accessing another element using the key: Website Accessing an using the get() method: Point Accessing another using the get() method: Java
Complessità per l'accesso agli elementi in un dizionario:
- Complessità temporale: O(1)
- Complessità spaziale: O(1)
Accesso all'elemento di un dizionario nidificato:
Possiamo prendere l'aiuto di tecnica di indicizzazione []. per ottenere il valore di una chiave esistente nel file dizionario nidificato .
Esempio :
# Creating a Dictionary myDict = {'myDict1': {3: 'JavatPoint'}, 'myDict2': {'Info.': 'Website'}} # Accessing the elements using the key print(myDict['myDict1']) print(myDict['myDict1'][3]) print(myDict['myDict2']['Info.'])
Produzione:
{3: 'JavatPoint'} JavatPoint Website
Metodi del dizionario integrato:
chiaro() :
La funzione dict.clear() elimina ogni coppia chiave-valore dal dizionario.
copia() :
UN copia meno profonda del dizionario viene restituito dal metodo dict.copy().
rekha indiano
dai tasti() :
Utilizzando l'iterabile fornito (stringa, lista, set o tupla) come chiavi e il valore specificato, la funzione dict.fromkeys() crea un nuovo dizionario .
Ottenere() :
Questo restituisce il valore associato con la chiave data.
elementi() :
UN oggetto vista dizionario , che offre una presentazione dinamica degli elementi del dizionario come elenco di coppie chiave-valore viene restituito dalla funzione dict.items(). Quando il dizionario viene aggiornato, this viene aggiornato anche l'oggetto vista .
dict.keys() :
La funzione dict.keys() restituisce un oggetto vista dizionario con quelli del dizionario elenco delle chiavi.
pop() :
Questo restituisce il valore della chiave dopo averla rimossa . Se manca una chiave dal dizionario, genera a Errore chiave o restituisce il valore di default se ne è stato fornito uno.
bere() :
Questo rimuove un elemento dal dizionario e restituisce una tupla di coppie (chiave, valore). IL Ultimo entrato, primo uscito (LIFO) la sequenza viene utilizzata per restituire le coppie.
imposta default() :
Questo restituisce il valore del dizionario per la chiave specificata . Se la chiave non può essere scoperta, la chiave verrà fornita valore di default è aggiunto. Tramonta Nessuno come il valore di default se non viene fornito.
valori() :
IL oggetto vista dizionario che offre una vista dinamica di ogni valore che è presente nel dizionario, viene restituito dalla funzione dict.values(). Quando il dizionario viene aggiornato, this viene aggiornato anche l'oggetto vista .
aggiornamento() :
UN dizionario o qualsiasi iterabile con coppie chiave-valore , come una tupla, può essere aggiornato utilizzando la funzione dict.update().
Esempio :
# Example to demonstrate all dictionary methods #Creating a Dictionary mydict1={1:'HTML',2:'CSS',3:'Javascript',4:'Python'} #copy method mydict2=mydict1.copy() print(mydict2) #clear method mydict1.clear() print(mydict1) #get method print(mydict2.get(1)) #items method print(mydict2.items()) #keys method print(mydict2.keys()) #pop method mydict2.pop(4) print(mydict2) #popitem method mydict2.popitem() print(mydict2) #update method mydict2.update({2:'C++'}) print(mydict2) #values method print(mydict2.values())
Produzione:
{1: 'HTML', 2: 'CSS', 3: 'Javascript', 4: 'Python'} {} HTML dict_items([(1, 'HTML'), (2, 'CSS'), (3, 'Javascript'), (4, 'Python')]) dict_keys([1, 2, 3, 4]) {1: 'HTML', 2: 'CSS', 3: 'Javascript'} {1: 'HTML', 2: 'CSS'} {1: 'HTML', 2: 'C++'} dict_values(['HTML', 'C++'])
Differenza tra un dizionario e un elenco:
Strutture dati come a elenco e un dizionario sono fondamentalmente dissimili. UN serie ordinata di articoli può essere memorizzato in a elenco in modo da poterlo indicizzare o scorrere su di esso. Gli elenchi possono essere modificati anche dopo che sono già stati generati poiché sono di tipo modificabile. IL Dizionario Python è un archiviazione di valori-chiave e un'implementazione di a tabella hash . Non segue alcuna sequenza particolare e richiede chiavi hashable. Inoltre, è veloce per le ricerche chiave.
UN lista gli elementi contengono le seguenti caratteristiche:
- A meno che non siano specificatamente riordinati, loro mantenere l'ordine attuale (ad esempio, ordinando l'elenco).
- Potrebbero essere di qualunque tipo, o anche a combinazione di sorta .
Le caratteristiche di dizionario gli elementi sono i seguenti:
- Ogni voce ha un valore e una chiave .
- Gli ordini sono non garantito .
Utilizzo:
Usiamo a dizionario se abbiamo a insieme di chiavi distinte che corrispondono a valori , ma a elenco quando abbiamo un gruppo ordinato di cose .
Conclusione :
- In un linguaggio informatico, i dizionari sono una sorta di struttura dati utilizzata per contenere informazioni questo è in qualche modo correlato.
- Ogni modulo ha una proprietà unica chiamata __detto__.
- __detto__ contiene la tabella dei simboli del modulo .
- Le proprietà di un elemento sono memorizzate in a oggetto di mappatura.
- Ogni oggetto in Python ha un proprietà che è indicata dal simbolo __dict__ .
- Un altro nome per __dict__ è noto anche come oggetto mappingproxy.
- I due componenti di un dizionario Python vengono chiamati Chiavi e valori .
- Voi potrebbe non ricevere i tuoi dati nell'ordine simile a quello in cui li hai inseriti poiché i dizionari non conservano i loro dati in un ordine specifico.
- Le chiavi saranno composte solo da una cosa.
- I valori possono essere numeri interi, liste, liste dentro liste , eccetera.
- Non può esserci più di una voce per chiave (non è consentita alcuna chiave duplicata)
- Le chiavi del dizionario devono essere immutabile , ad esempio numeri interi, tuple o stringhe , sebbene i valori possano essere di qualsiasi tipo.
- Dizionario i tasti fanno distinzione tra maiuscole e minuscole ; nei dizionari Python, lo stesso nome di chiave scritto diversamente è considerato come a chiave distinta .