6
respostas

Qual a diferença?

Em um array

dados[1][2]

e

dados[1, 2]

são a mesma coisa, certo? O primeiro colchete e o valor antes da virgula, são as linhas e no segundo colchete e após a virgula sao colunas, certo?

Mas qual diferença entre esses dois debaixo em questao de linhas e colunas?

dados[0, 1:3]

e

dados[:, 1:3][0]
6 respostas

Olá Heliton,

No primeiro dados[0, 1:3] é selecionada a primeira linha (0) junto das colunas de 1 até a 3 (sem incluir a 3), então o resultado são os elementos 1 e 2 da linha 0.

No segundo dados[:, 1:3][0] os : indicam todas as linhas enquanto o 1:3 novamente indica as colunas da 1 até a 3 (sem incluir a 3). Se você olhar o resultado dessa primeira parte dados[:, 1:3] verá que é um array, então já colocamos o [0] na frente para selecionar o primeiro elemento (elemento 0) desse array.


Olha também esse outro tópico que deve ajudar mais com o entendimento:

https://cursos.alura.com.br/forum/topico-aula-5-atividade-6-duvida-em-um-fatiamento-126596

Qualquer dúvida é só falar!

Certo entao o [0] no último caso é so para dizer que no array é para ler a primeira linha?

Exatamente, no array retornado por dados[:, 1:3] já acessamos o elemento da posição 0

# dados[:, 1:3][0] é o mesmo que:
valor = dados[:, 1:3]
valor[0]

Obrigado

Parece que uma boa prática é usando variáveis para não se perder, apesar do código ficar maior

Vai depender da situação atual, se você estiver apenas analisando/explorando um conjunto de dados or exemplo acredito que fazer tudo em uma linha não seria ruim, já que é um código que difícilmente a gente vai voltar e executar novamente. Mas caso esteja fazendo um programa ou sistema já é bem mais importante se preocupar com a organização e a clareza do código, mesmo que o código fique maior ou com mais variáveis.

Mas claro que no final é você que escolhe como fazer, não existe uma regra definitiva.

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