Considere os dicionários dados e dados2 a seguir:
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}
}
dados2 = {'nome': 'Fulano', 'idade': 20}
Observe a iteração do "for" em ambos os datasets
for d in dados.items():
print(d)
('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})
Pergunta 1: O código acima retorna uma tupla chave-valor para cada item do dicionario? No caso. a chave é o modelo do carro(Crossfox, DSS etc), e o valor é um outro dicionário ({'km': 35000, 'ano': 2005})?
for d in dados.items():
print(d[1]['km'])
35000
17000
130000
56000
62000
No código acima, no print, eu estou pegando o índice 1 do dicionário, por exemplo, o dicionário {'km': 35000, 'ano': 2005} e, dentro desse dicionário, eu estou sendo mais especifico, indicando que quero pegar a chave 'km'. Logo, ele exibe apenas a quilometragem de cada dicionario, que é o valor de cada chave 'km'. É isso?
for d2 in dados2.items():
print(d2)
('nome', 'Fulano')
('idade', 20)
No código acima, ele exibe o par chave-valor de dados2. Por que o codigo abaixo
for d2 in dados2.items():
print(d2[1])
Fulano
20
exibe os valores das chaves nome e idade (ou seja, Fulano 20)? Quando eu passo d2[1], ele não deveria pegar apenas a idade, que é a segunda chave do dicionário dados2 = {'nome': 'Fulano', 'idade': 20}
Grato desde já.