E aí Gabriel! Tudo tranquilo contigo?
O .items()
nos permite acessar de maneira mais fácil as chaves e os valores existentes em um dicionário.
Quando pegamos um dicionário e utilizamos o .items() isso irá retornar uma lista contendo pares de tuplas, onde, em cada uma dessas tuplas, o primeiro elemento será a chave do dicionário e o segundo elemento o valor.
Vamos a um exemplo utilizando o dataset desse exercício:
dados = {
'Crossfox': {'km': 35000, 'ano': 2005},
'DS5': {'km': 17000, 'ano': 2015},
'Fusca': {'km': 130000, 'ano': 1979},
'Jetta': {'km': 56000, 'ano': 2011},
'Passat': {'km': 62000, 'ano': 1999}
}
dados.items()
Resultado:
dict_items([('Crossfox', {'km': 35000, 'ano': 2005}), ('DS5', {'km': 17000, 'ano': 2015}), ('Fusca', {'km': 130000, 'ano': 1979}), ('Jetta', {'km': 56000, 'ano': 2011}), ('Passat', {'km': 62000, 'ano': 1999})])
Observe que nos foi retornado uma lista de tuplas, conforme dito anteriormente.
Para vermos de forma mais organizada essas tuplas, vamos utilizar um for:
for item in dados.items():
print(item)
Resultado:
('Crossfox', {'km': 35000, 'ano': 2005})
('DS5', {'km': 17000, 'ano': 2015})
('Fusca', {'km': 130000, 'ano': 1979})
('Jetta', {'km': 56000, 'ano': 2011})
('Passat', {'km': 62000, 'ano': 1999})
Dessa forma, fica fácil acessar os elementos do nosso dicionário. Nesse for
, para acessar as chaves do dicionário, por exemplo, basta fazer:
for item in dados.items():
print(item[0])
Resultado:
Crossfox
DS5
Fusca
Jetta
Passat
E para acessar os valores basta fazer um item[1]
. Se desejar algum valor específico, como "ano", você pode acessá-lo rapidamente fazendo item[1]['ano']
e assim por diante.
Sendo assim, se nesse exercício você fizesse o for item in dataset
direto, sem o .items()
isso dificultaria o acesso a todos os elementos do dicionário. Uma vez que isso nos retornaria apenas as chaves do nosso dicionário:
for item in dados:
print(item)
Resultado:
Crossfox
DS5
Fusca
Jetta
Passat
E como na função km_media
nós fazemos uso tanto das chaves quanto dos valores do dicionário, utilizar o .items()
se torna uma opção mais interessante.
Espero ter te ajudado!
Se ficar com alguma dúvida me avisa, tá bom? Vou estar por aqui :)
Bons estudos!