0) dado uma lista e um dado x, remova todas as instancias de x da lista (novo: aceite tambem uma funcao "key" que aplicada sera aplicada ao elemento da lista antes de compara-lo com x) 1) Dado um string da forma "aaaabbbcdddeaa" escreva uma funcao que codifica o string da seguinte forma [(a,4),(b3,)(c,1),(d,3),(e,1),(a,2)] Faca a funcao de decodificacao tambem, 2) Dado um string, compute a letra mais comum neste sting 3) dado um arquivo de texto, compute as 10 palavras mais comuns no texto, removando numeros e pontuacoes e convertendo todas as letras para minusculo 3,1) escreva uma funcao que dado uma lista ordenada, um inteiro k e um dado, insere o dado na posicao correta da lista, garantindo que a lista nao tenha mais que k dados depois da insercao. 3,2) modifique 3) para usar esta lista em vez de usar um sort. 4) Escreva um gerador que dado 2 iterators, intercala os valores dos interatos, 5) Escreva um gerador que dado 2 iterator retorna os pares de valores correspondented dos interators 6) escreva um decorator que memoiza uma funcao e que quarda no atributo conta dessa funcao o numero de vezes que a funcao foi realmente chamada (e nao apenas lembrada) 7) Dado uma matriz numpy quadrada Q, compute o autovetor correspondente ao maior autovalor por sucessivas multiplicacoes da matrix por um vetor aleatorio a autovetor = Q * (Q * (Q * (Q * a))) 8) Dado uma matriz numpy 10 linhas e 1000 colunas, compute a media sobre as colunas nos pontos de maximo de cada uma das linhas.