Data Science Academy - Python Fundamentos - Capítulo 4

Download: http://github.com/dsacademybr


In [1]:
# Versão da Linguagem Python
from platform import python_version
print('Versão da Linguagem Python Usada Neste Jupyter Notebook:', python_version())


Versão da Linguagem Python Usada Neste Jupyter Notebook: 3.7.6

Versão da Linguagem Python

from platform import python_version print('Versão da Linguagem Python Usada Neste Jupyter Notebook:', python_version())

Exercícios


In [2]:
# Exercício 1 - Crie uma lista de 3 elementos e calcule a terceira potência de cada elemento.
list1 = [3,4,5]
quadrado = [item**3 for item in list1] 
print(quadrado)


[27, 64, 125]

In [3]:
# Exercício 2 - Reescreva o código abaixo, usando a função map(). O resultado final deve ser o mesmo!
palavras = 'A Data Science Academy oferce os melhores cursos de análise de dados do Brasil'.split()
resultado = [[w.upper(), w.lower(), len(w)] for w in palavras]
for i in resultado:
    print (i)


['A', 'a', 1]
['DATA', 'data', 4]
['SCIENCE', 'science', 7]
['ACADEMY', 'academy', 7]
['OFERCE', 'oferce', 6]
['OS', 'os', 2]
['MELHORES', 'melhores', 8]
['CURSOS', 'cursos', 6]
['DE', 'de', 2]
['ANÁLISE', 'análise', 7]
['DE', 'de', 2]
['DADOS', 'dados', 5]
['DO', 'do', 2]
['BRASIL', 'brasil', 6]

In [4]:
resultado = map(lambda w: [w.upper(), w.lower(), len(w)], palavras)
for i in resultado:
    print (i)


['A', 'a', 1]
['DATA', 'data', 4]
['SCIENCE', 'science', 7]
['ACADEMY', 'academy', 7]
['OFERCE', 'oferce', 6]
['OS', 'os', 2]
['MELHORES', 'melhores', 8]
['CURSOS', 'cursos', 6]
['DE', 'de', 2]
['ANÁLISE', 'análise', 7]
['DE', 'de', 2]
['DADOS', 'dados', 5]
['DO', 'do', 2]
['BRASIL', 'brasil', 6]

In [5]:
# Exercício 3 - Calcule a matriz transposta da matriz abaixo.
# Caso não saiba o que é matriz transposta, visite este link: https://pt.wikipedia.org/wiki/Matriz_transposta
# Matriz transposta é um conceito fundamental na construção de redes neurais artificiais, base de sistemas de IA.
matrix = [[1, 2],[3,4],[5,6],[7,8]]
transpose = [[row[i] for row in matrix] for i in range(2)]
print(transpose)


[[1, 3, 5, 7], [2, 4, 6, 8]]

In [6]:
# Exercício 4 - Crie duas funções, uma para elevar um número ao quadrado e outra para elevar ao cubo. 
# Aplique as duas funções aos elementos da lista abaixo. 
# Obs: as duas funções devem ser aplicadas simultaneamente.
lista = [0, 1, 2, 3, 4]

def square(x):
        return (x**2)
    
def cube(x):
        return (x**3)

funcs = [square, cube]

for i in lista:
    valor = map(lambda x: x(i), funcs)
    print(list((valor)))


[0, 0]
[1, 1]
[4, 8]
[9, 27]
[16, 64]

In [7]:
# Exercício 5 - Abaixo você encontra duas listas. Faça com que cada elemento da listaA seja elevado 
# ao elemento correspondente na listaB.
listaA = [2, 3, 4]
listaB = [10, 11, 12]
list(map(pow, listaA, listaB))


Out[7]:
[1024, 177147, 16777216]

In [8]:
# Exercício 6 - Considerando o range de valores abaixo, use a função filter() para retornar apenas os valores negativos.
range(-5, 5)
list(filter((lambda x: x < 0), range(-5,5)))


Out[8]:
[-5, -4, -3, -2, -1]

In [9]:
# Exercício 7 - Usando a função filter(), encontre os valores que são comuns às duas listas abaixo.
a = [1,2,3,5,7,9]
b = [2,3,5,6,7,8]
print (list(filter(lambda x: x in a, b)))


[2, 3, 5, 7]

In [10]:
# Exercício 8 - Considere o código abaixo. Obtenha o mesmo resultado usando o pacote time. 
# Não conhece o pacote time? Pesquise!
import datetime
print (datetime.datetime.now().strftime("%d/%m/%Y %H:%M"))

import time
print (time.strftime("%d/%m/%Y %H:%M"))


23/03/2020 16:28
23/03/2020 16:28

In [11]:
# Exercício 9 - Considere os dois dicionários abaixo. 
# Crie um terceiro dicionário com as chaves do dicionário 1 e os valores do dicionário 2.
dict1 = {'a':1,'b':2}
dict2 = {'c':4,'d':5}

def trocaValores(d1, d2):
    dicTemp = {}
    
    for d1key, d2val in zip(d1,d2.values()):
        dicTemp[d1key] = d2val
    
    return dicTemp

dict3 = trocaValores(dict1, dict2)
print(dict3)


{'a': 4, 'b': 5}

In [12]:
# Exercício 10 - Considere a lista abaixo e retorne apenas os elementos cujo índice for maior que 5.
lista = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
for indice, valor in enumerate(lista):
    if indice <= 5:
        continue
    else:
        print (valor)


g
h

Fim

Obrigado - Data Science Academy - facebook.com/dsacademybr