1
resposta

Dicionários em python

Olá, alguem poderia me explicar a logica desse exercício de interação de dicionários

dados = { 'Crossfox': {'valor': 72000, 'ano': 2005}, 'DS5': {'valor': 125000, 'ano': 2015}, 'Fusca': {'valor': 150000, 'ano': 1976}, 'Jetta': {'valor': 88000, 'ano': 2010}, 'Passat': {'valor': 106000, 'ano': 1998} }COPIAR CÓDIGO Selecione a alternativa que apresenta o código que imprime somente os nomes dos veículos com ano de fabricação maior ou igual a 2000.

Alternativa correta for item in dados.items(): if(item[1]['ano'] >= 2000): print(item[0])

Alternativa correta! Veja que dados.items() retorna um iterador de tuplas, onde cada tupla tem como primeiro item a chave do dicionário e como segundo o respectivo valor:

In [1]:

for item in dados.items(): print(item)COPIAR CÓDIGO Out [1]:

('Crossfox', {'valor': 72000, 'ano': 2005}) ('DS5', {'valor': 125000, 'ano': 2015}) ('Fusca', {'valor': 150000, 'ano': 1976}) ('Jetta', {'valor': 88000, 'ano': 2010}) ('Passat', {'valor': 106000, 'ano': 1998})COPIAR CÓDIGO Para acessar a chave do dicionário, basta utilizar item[0], e para acessar o valor, basta usar item[1]. Para acessar o ano dentro do dicionário, usamos item[1]['ano'].

1 resposta

Olá, Rafael. O método items() retorna uma lista com tuplas contendo as combinações de chave-valores do dicionário. Como o loop está iterando sobre isso, em cada iteração temos uma tupla, contendo na posição '0' a chave e na posição '1' os valores. Acontece que temos um dicionário de dicionários, então ao acessar item[1], os valores são o dicionário "de dentro". Logo, para acessar a chave 'ano' do dicionário de dentro, basta acessar item[1]['ano'].

Espero ter ajudado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software