Domande di intervista sul dizionario Python

Tempo di lettura stimato: 6 minuti

Nel nostro primo video sulle domande dei colloqui di lavoro in python abbiamo discusso alcune delle domande di alto livello che possono essere poste durante un colloquio.

In questo post, discuteremo le domande di intervista sui dizionari di python.

Cosa sono i dizionari Python e le loro proprietà?

Prima di tutto, sono mutabili, cioè possono essere modificati; continuate a leggere per vedere gli esempi.

Di conseguenza, è possibile aggiungere o togliere coppie chiave-valore a seconda delle esigenze.

Inoltre, i nomi delle chiavi possono essere modificati.

Un'altra proprietà da notare è che sono sensibili alle maiuscole e alle minuscole, il che significa che lo stesso nome di chiave può esistere anche con lettere maiuscole diverse.

Come si crea un dizionario vuoto in Python?

Come si può vedere qui di seguito, il processo è semplice: basta dichiarare una variabile uguale a due parentesi graffe e subito il gioco è fatto.

Un'alternativa è dichiarare una variabile uguale a dict() e in un'istanza si ha un dizionario vuoto.

Il seguente blocco di codice dovrebbe essere un buon esempio di come farlo:

# How do you create an empty dictionary?
empty_dict1 = {}
empty_dict2 = dict()
print(empty_dict1)
print(empty_dict2)
print(type(empty_dict1))
print(type(empty_dict2))

Output:
{}
{}
<class 'dict'>
<class 'dict'>

Come si aggiungono valori a un dizionario Python?

Se volete aggiungere valori al vostro dizionario Python, ci sono diversi modi possibili; il codice seguente può aiutarvi a farvi un'idea più precisa:

#How do add values to a python dictionary
empty_dict1 = {}
empty_dict2 = dict()

empty_dict1['Key1'] = '1'
empty_dict1['Key2'] = '2'
print(empty_dict1)

#Example1 - #Appending values to a python dictionary
empty_dict1.update({'key3': '3'})
print(empty_dict1)

#Example2 - Use an if statement
if "key4" not in empty_dict1:
    empty_dict1["key4"] = '4'
else:
    print("Key exists, so not added")
print(empty_dict1)

Output:
{'Key1': '1', 'Key2': '2'}
{'Key1': '1', 'Key2': '2', 'key3': '3'}
{'Key1': '1', 'Key2': '2', 'key3': '3', 'key4': '4'}

Come si ordina un dizionario Python?

Una delle proprietà dei dizionari è che non sono ordinati; di conseguenza, se è grande, trovare ciò che serve può richiedere un po' di tempo.

Fortunatamente Python ha fornito la possibilità di ordinare come segue:

#How to sort a python dictionary?
empty_dict1 = {}

empty_dict1['Key2'] = '2'
empty_dict1['Key1'] = '1'
empty_dict1['Key3'] = '3'
print("Your unsorted by key dictionary is:",empty_dict1)
print("Your sorted by key dictionary is:",dict(sorted(empty_dict1.items())))

#OR - use list comprehension
d = {a:b for a, b in enumerate(empty_dict1.values())}
print(d)
d["Key2"] = d.pop(0) #replaces 0 with Key2
d["Key1"] = d.pop(1) #replaces 1 with Key1
d["Key3"] = d.pop(2) #replaces 2 with Key3
print(d)
print(dict(sorted(d.items())))

Output:
Your unsorted by key dictionary is: {'Key2': '2', 'Key1': '1', 'Key3': '3'}
Your sorted by key dictionary is: {'Key1': '1', 'Key2': '2', 'Key3': '3'}
{0: '2', 1: '1', 2: '3'}
{'Key2': '2', 'Key1': '1', 'Key3': '3'}
{'Key1': '1', 'Key2': '2', 'Key3': '3'}

Come si cancella una chiave da un dizionario Python?

Di tanto in tanto alcune chiavi potrebbero non essere più necessarie. In questo caso, è necessario eliminarle. In questo modo si elimina anche il valore associato alla chiave.

#How do you delete a key from a dictionary?
empty_dict1 = {}

empty_dict1['Key2'] = '2'
empty_dict1['Key1'] = '1'
empty_dict1['Key3'] = '3'
print(empty_dict1)

#1. Use the pop function
empty_dict1.pop('Key1')
print(empty_dict1)

#2. Use Del

del empty_dict1["Key2"]
print(empty_dict1)

#3. Use dict.clear()
empty_dict1.clear() # Removes everything from the dictionary.
print(empty_dict1)

Output:
{'Key2': '2', 'Key1': '1', 'Key3': '3'}
{'Key2': '2', 'Key3': '3'}
{'Key3': '3'}
{}

Come si fa a cancellare più di una chiave da un dizionario Python?

A volte potrebbe essere necessario rimuovere più chiavi e i relativi valori. L'uso ripetuto del codice precedente potrebbe non essere il modo più efficiente per raggiungere questo obiettivo.

A tal fine, Python ha previsto una serie di modi per raggiungere questo obiettivo:

#How do you delete more than one key from a dictionary
#1. Create a list to lookup against
empty_dict1 = {}

empty_dict1['Key2'] = '2'
empty_dict1['Key1'] = '1'
empty_dict1['Key3'] = '3'
empty_dict1['Key4'] = '4'
empty_dict1['Key5'] = '5'
empty_dict1['Key6'] = '6'

print(empty_dict1)

dictionary_remove = ["Key5","Key6"] # Lookup list

#1. Use the pop method

for key in dictionary_remove:
  empty_dict1.pop(key)
print(empty_dict1)

#2 Use the del method
dictionary_remove = ["Key3","Key4"]
for key in dictionary_remove:
  del empty_dict1[key]
print(empty_dict1)

Come si cambia il nome di una chiave in un dizionario Python?

Ci saranno scenari in cui i nomi delle chiavi non sono quelli giusti e quindi dovranno essere modificati.

Si noti che quando si cambiano i nomi delle chiavi, il nuovo nome non deve esistere già.

Di seguito sono riportati alcuni esempi che illustrano i diversi modi in cui è possibile ottenere questo risultato.

# How do you change the name of a key in a dictionary
#1. Create a new key , remove the old key, but keep the old key value

# create a dictionary
European_countries = {
    "Ireland": "Dublin",
    "France": "Paris",
    "UK": "London"
}
print(European_countries)
#1. rename key in dictionary
European_countries["United Kingdom"] = European_countries.pop("UK")
# display the dictionary
print(European_countries)

#2. Use zip to change the values

European_countries = {
    "Ireland": "Dublin",
    "France": "Paris",
    "United Kingdom": "London"
}

update_elements=['IRE','FR','UK']

new_dict=dict(zip(update_elements,list(European_countries.values())))

print(new_dict)

Output:
{'Ireland': 'Dublin', 'France': 'Paris', 'UK': 'London'}
{'Ireland': 'Dublin', 'France': 'Paris', 'United Kingdom': 'London'}
{'IRE': 'Dublin', 'FR': 'Paris', 'UK': 'London'}

Come si ottengono la chiave e i valori min e max in un dizionario Python?

Infine, potreste avere un dizionario di grandi dimensioni e avere bisogno di vedere i confini o i limiti dei valori in esso contenuti.

Nel codice sottostante, alcuni esempi di ciò che si può parlare dovrebbero aiutare a spiegare le proprie conoscenze.

#How do you get the min and max keys and values in a dictionary?
dict_values = {"First": 1,"Second": 2,"Third": 3}

#1. Get the minimum value and its associated key
minimum = min(dict_values.values())
print("The minimum value is:",minimum)
minimum_key = min(dict_values.items())
print(minimum_key)

#2. Get the maximum value and its associated key
maximum = max(dict_values.values())
print("The maximum value is:",maximum)
maximum_key = max(dict_values.items())
print(maximum_key)

#3. Get the min and the max key
minimum = min(dict_values.keys())
print("The minimum key is:",minimum)

#2. Get the maximum value and its associated key
maximum = max(dict_values.keys())
print("The maximum key is:",maximum)

Output:
The minimum value is: 1
('First', 1)
The maximum value is: 3
('Third', 3)
The minimum key is: First
The maximum key is: Third

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati da *