Tempo estimado de leitura: 6 atas
No nosso primeiro vídeo sobre perguntas de entrevistas python, discutimos algumas das perguntas de alto nível que lhe podem ser feitas numa entrevista.
Neste post, discutiremos questões de entrevista sobre dicionários python.
Então o que são os dicionários Python e as suas propriedades?
Antes de mais, são mutáveis, o que significa que podem ser mudados, por favor leia para ver exemplos.
Como resultado, pode adicionar ou retirar os pares de valores chave como achar conveniente.
Além disso, os nomes-chave podem ser alterados.
Uma das outras propriedades que devem ser notadas é que são sensíveis a maiúsculas e minúsculas, o que significa que o mesmo nome chave pode existir se estiver em maiúsculas diferentes.
Então como criar um dicionário vazio em Python?
Como pode ser visto abaixo, o processo é simples, basta declarar uma variável igual a dois parênteses curvos, e o seu presto está pronto a funcionar.
Uma alternativa é declarar uma variável igual a dict(), e num caso, tem um dicionário vazio.
O bloco de código abaixo deve ser um bom exemplo de como fazer isto:
# 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'>
Como se acrescentam valores a um dicionário Python?
Se quiser acrescentar valores ao seu dicionário Python, há várias maneiras possíveis, o código abaixo, pode ajudá-lo a ter uma ideia melhor:
#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'}
Como se ordena um dicionário Python?
Uma das propriedades dos dicionários é que são desordenados, como resultado, se for grande encontrar o que se precisa pode demorar um pouco.
Felizmente, Python providenciou a capacidade de classificar da seguinte forma:
#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'}
Como se apaga uma chave de um dicionário Python?
De vez em quando, certas chaves podem já não ser necessárias. Neste cenário, terá de as apagar. Ao fazer isto, também se elimina o valor associado à chave.
#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'}
{}
Como eliminar mais do que uma chave de um dicionário Python?
Por vezes pode ser necessário remover múltiplas chaves e os seus valores. A utilização repetida do código acima pode não ser a forma mais eficiente de o conseguir.
Para ajudar com esta Python, foram oferecidas várias formas de o conseguir, como se segue:
#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)
Como se muda o nome de uma chave num dicionário Python?
Vai haver cenários em que os nomes-chave não são os nomes certos de que necessita, em consequência, terão de ser alterados.
É de notar que ao alterar os nomes-chave, o novo nome não deve já existir.
Abaixo estão alguns exemplos que lhe mostrarão as diferentes formas como isto pode ser conseguido.
# 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'}
Como obter as chaves e valores min e max num dicionário Python?
Finalmente, poderá ter um grande dicionário e precisar de ver os limites e ou limites dos valores contidos no mesmo.
No código abaixo, alguns exemplos do que se pode falar devem ajudar a explicar os seus conhecimentos.
#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