Bom dia Felipe, tudo bem com você?
Muito bem, o que você trouxe sobre os índices do fatiamento está perfeito, mas antes de responder a sua pergunta vamos entender um pouco mais sobre as possibilidades de fatiamento. Como você falou a resposta é [0::2,:2]
, neste caso, qual a função da vírgula no seletor?
Isso mesmo, a vírgula é um separador, mas o que a vírgula está separando? Antes da vírgula está o que queremos selecionar em relação às linhas, depois da vírgula está o que queremos selecionar em relação às colunas. Por tanto, a vírgula está separando o seletor de linhas e o seletor de colunas:
Utilizando os índices do fatiamento que você trouxe teremos:
Tudo bem, mas o que acontece se o seletor não tiver vírgula, por exemplo [0::2]
? O que você acha que será selecionado? Neste caso, o seletor considera que o que for informado será em relação às linhas e em relação às colunas, o seletor trará os valores de todas as colunas existentes.
Sabendo disso, vamos analisar primeiro o seletor de linhas, ou seja, o que vem antes da vírgula. O i é ponto de partida das linhas e foi definido como zero. O j estabelece o ponto de parada, como não foi informado nenhum valor, o seletor irá até o índice da última linha. Por fim, o k representa o passo, forma como queremos caminhar e foi definido como 2. Resumindo, queremos pegar da linha de índice zero até o índice da última linha, andando de dois em dois. Como inicialmente estamos pensando apenas no seletor de linhas, ele será [0::2]
. Quais linhas iremos pegar com este seletor?Serão as linhas:
['Roberto', 'casado', 'masculino'],
['Bruno', 'solteiro', 'masculino']
Agora vamos analisar o seletor de colunas. Diferente do seletor de linhas, o seletor de colunas anda de mãos dadas com o seletor de linhas, então precisaremos informar os dois. Para as linhas vamos utilizar o seletor estudado acima, mas dessa vez daremos atenção ao que vier depois da vírgula. No caso do seletor [0::2,:2], o i não foi informado, então ele parte da primeira coluna. O j é o ponto de parada que foi informado como 2. Por fim, não foi informado nenhum valor para o k, nesse caso ele andará de um em um. Quais colunas iremos pegar com este seletor? Serão as colunas de nome e estado civil das linhas acima, que são os valores:
['Roberto', 'casado'],
['Bruno', 'solteiro']
Legal, viramos especialistas nesse tipo de seletor, assim podemos responder a sua pergunta. O enunciado diz que precisamos selecionar as colunas de nome e estado civil para as pessoas do sexo masculino. O que será selecionado com o seletor [::2]
? Serão selecionadas todas as colunas da primeira até a última linha andando de dois em dois.
['Roberto', 'casado', 'masculino'],
['Bruno', 'solteiro', 'masculino']
Acontece que foi especificado que devem aparecer apenas as colunas de nome e estado civil, por isso, precisamos informar um seletor para as colunas também. As colunas que queremos são as duas primeiras que possuem os índices 0 e 1. O seletor de colunas será :2, juntando com o seletor de linhas teremos o seletor que vimos acima [0::2,:2]
. Qual seria uma outra forma de escrever esse mesmo seletor?
Uma outra forma seria o [0:4:2,0:2:1]
que traria exatamente as mesmas informações:
['Roberto', 'casado'],
['Bruno', 'solteiro']
Espero ter ajudado.
Abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!