Programação Python (Intermediário) - Prof. MARCO VAZ
MarcoVaz
103.4K views
02 Segunda parte
Listas Manipulando Listas Manipulando Listas (Continuação) Fatiamento (slicing) Compreensão de Listas Compreensão de Listas (Exemplos) Seleção em Listas Exercitando Listas e Strings Listas e Strings (Continuação) Tuplas Exercitando Dicionários Dicionários (continuação) Exercitando Sets Sets (Continuação) Arquivos Arquivos (Continuaçao) Arquivos (continuação) Exercitando
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)
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)
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)
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)
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)
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)
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)
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)
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.