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

Função for

Pessoal, não ficou muito claro o porquê o professor utilizou duas vezes 'd' na variável 'acertos' do vídeo 05, aula 01:

acertos = [d for d in diferencas if d==0]

Não poderia ser utilizado o 'd' apenas uma vez já que se refere a variável 'diferenças'? E se for para varrer uma matriz não seria o caso de utilizar diferentes letras para representar linha e coluna?

1 resposta
solução!

Oi Angela,

Este é um conceito chamado de compreensão de lista, suportado pelo Python. A ideia é criar uma lista nova a partir de outra que já existe, utilizando uma sintaxe muito parecida com a notação matemática para definição de conjuntos.

Basicamente, você está dizendo "minha nova lista é todo elemento d tal que d está em diferencas e vale 0". Isto é, você está escolhendo elementos de um domínio (outra lista) a partir de um filtro (apenas os que tem diferença zero). Outro exemplo:

>>> pares = [n for n in range(10) if n % 2 == 0]
>>> pares
[0, 2, 4, 6, 8]

Estou dizendo que minha nova lista é todo número n no intervalo [0, 10) onde n é par.

Você pode explorar bastante esta ideia. Por exemplo, se queremos todos os números do intervalo [0, 10) ao quadrado, podemos escrever

>>> quadrados = [x * x for x in range(10)]
>>> quadrados
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Note que nesse caso não estamos utilizando nenhum filtro.