Por que iterar através de dois dicionários em python produzir resultados estranhos?

0

Pergunta

Eu sou a iteração através das teclas de um dicionário, encontrar a mesma chave em um segundo dicionário e, em seguida, tentando produzir o primeiro valor da lista de associados com a chave no segundo dicionário. Quando eu olhar diretamente para o segundo dicionário, funciona bem:

Código:

for data in hud_data.get('veh_1'):
     print(data[0])

Retorna: 17.3245

Isso é correto. Mas quando eu tento executar através de todas as chaves de hud_data consultando as chaves de um outro dicionário (UAV_data), recebo um resultado estranho:

Código:

for a_key in UAV_dict.keys():
    # print(a_key)
    for data in hud_data.get(a_key):
        print(data[0])
        break

Isso deve produzir exatamente a mesma coisa. A primeira chave no UAV_dict é 'veh_1', então, quando o segundo para o loop é executado, ele deve apenas retornar a mesma coisa, 17.3245. Em vez disso, ele retorna todos os valores, para cada chave:

Retorno: 17.3245 19.3003 22.2483 29.8077 35.86

Porque todos os valores, para cada chave aparecendo na saída? Como devo re-escrever o código para que ele produz apenas o primeiro resultado?

1

Melhor resposta

0

Sua instrução break só deixa o interior do ciclo. Outro ciclo em UAV_dict.chaves() não é afetado

2021-11-24 02:23:19

Ok, isso é muito bobo. Obrigado. Eu estava correndo para um problema em outro lugar no código e eu pensei que este era o problema. Obviamente, esta parte está ok em seguida.
Michael Wish

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................