Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Compreensão de Listas (Exemplos)
Problema 1: for Simples
Criar uma lista b com os elementos da lista a (apresentada abaixo) elevados ao cubo.
a = [2, 3, 4, 5, 6]
Solução em python:
1
2
3
4
5
6
7
8
a = [2,3,4,5,6]
b = []
for elemento in a:
b.append(elemento**3)
print(b)
Enter to Rename, Shift+Enter to Preview
Solução utilizando compressão:
1
2
3
4
5
6
a = [2,3,4,5,6]
b = [elemento ** 3 for elemento in a]
print(b)
Enter to Rename, Shift+Enter to Preview
Problema 2: for com seleção condicional if
Seguindo o problema anterior, criar a lista b apenas com elementos divisíveis por 8.
Solução em python:
1
2
3
4
5
6
7
8
9
10
a = [2,3,4,5,6]
b = []
for elemento in a:
x = elemento ** 3
if x % 8 == 0:
b.append(x)
print(b)
Enter to Rename, Shift+Enter to Preview
Solução utilizando compressão:
1
2
3
4
5
6
a = [2,3,4,5,6]
b = [elemento ** 3 for elemento in a if (elemento**3) % 8 == 0]
print(b)
Enter to Rename, Shift+Enter to Preview
Problema 3: for com seleção condicional composta if-else
Criar uma lista b com os elementos da lista a (apresentada abaixo) elevados ao quadrado caso o elemento seja par, do contrário elevado ao cubo.
Solução em python:
1
2
3
4
5
6
7
8
9
10
11
a = [2,3,4,5,6]
b = []
for elemento in a:
if elemento % 2 == 0:
b.append(elemento ** 2)
else:
b.append(elemento ** 3)
print(b)
Enter to Rename, Shift+Enter to Preview
Solução utilizando compressão:
1
2
3
4
5
6
a = [2,3,4,5,6]
b = [elemento ** 2 if elemento % 2 == 0 else elemento ** 3 for elemento in a]
print(b)
Enter to Rename, Shift+Enter to Preview
Problema 4: Múltiplos for
Criar uma lista list com os elementos pares da matriz 3x3 mat (apresentada abaixo).
Solução em python:
1
2
3
4
5
6
7
8
9
10
11
12
mat = [[2,3,4],
[7,9,10],
[12,13,14]]
list = []
for linha in mat:
for elemento in linha:
if elemento % 2 == 0:
list.append(elemento)
print(list)
Enter to Rename, Shift+Enter to Preview
Solução utilizando compressão:
1
2
3
4
5
6
7
8
mat = [[2,3,4],
[7,9,10],
[12,13,14]]
list = [elemento for linha in mat for elemento in linha if elemento % 2 == 0]
print(list)
Enter to Rename, Shift+Enter to Preview
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content