Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Formato dos arquivos

Ola, minha duvida é, quando crio o projeto, devo fazer a leitura dos arquivos e voces falam para usar o metodo load do JSON para fazer a leitura do JSON, e automaticamente passa a ser uma lista de dicionarios, porem e se eu quisesse que o arquivo fosse uma lista de listas mesmo, como eu faria? e em que hipóteses seria melhor que os arquivos fossem lista de listas? Outra duvida é se ambos os arquivos fossem listas de listas como seria o codigo para alterar e igualar as chaves, juntar os arquivos e salva- los, o que mudaria?

1 resposta
solução!

Olá Victor. Tudo bem com você?

Ótimas perguntas, vamos por partes e supor dados fictícios para ficar mais fácil a compreensão de cada uma delas.

Leitura de JSON como listas de listas

Para transformar um arquivo JSON em uma lista de listas, você precisaria manipular os dados após a leitura. O método json.load() transforma o JSON em uma estrutura que geralmente é uma lista de dicionários. Para convertê-la em uma lista de listas, você precisaria iterar sobre a lista de dicionários e extrair os valores de cada dicionário, formando uma nova lista. Exemplo:

# Suponha que você já tenha lido o JSON em uma variável chamada 'data'
data = [
    {"nome": "Ana", "idade": 30},
    {"nome": "Carlos", "idade": 25}
]

# Convertendo a lista de dicionários em uma lista de listas
lista_de_listas = [list(dicionario.values()) for dicionario in data]

print(lista_de_listas)

Isso resultaria em uma saída como: [['Ana', 30], ['Carlos', 25]].

Quando listas de listas é uma boa opção?

Quanto às hipóteses em que seria melhor usar listas de listas, isso depende do contexto e da estrutura dos dados que você está manipulando. Listas de listas podem ser úteis quando a ordem dos elementos é mais importante do que a associação chave-valor, ou quando você precisa de uma estrutura mais simples para operações matemáticas ou de matriz.

Igualando chaves, juntando arquivos e salvando

Se ambos os arquivos fossem listas de listas e você quisesse igualar as "chaves", juntar os arquivos e salvá-los, você precisaria definir uma lógica para identificar e combinar os elementos corretos, mas, isso varia de como os dados estão organizados. Por exemplo:

lista1 = [['Ana', 30], ['Carlos', 25]]
lista2 = [['Ana', 'F'], ['Carlos', 'M']]

# Juntando as listas com base no primeiro elemento (nome)
lista_junta = [l1 + l2[1:] for l1, l2 in zip(lista1, lista2) if l1[0] == l2[0]]

print(lista_junta)

Isso resultaria em: [['Ana', 30, 'F'], ['Carlos', 25, 'M']].

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado