Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estrutura de dados homogêneas do tipo vetor em Python Desafio Uma lista circular é um caso especial de lista encadeada, ou seja, é uma lista em que os elementos estão conectados. Assim, o último elemento da lista aponta para o primeiro elemento. Listas circulares são úteis em aplicativos para percorrer a lista repetidamente. Por exemplo, quando vários aplicativos estão sendo executados em um computador, é comum o sistema operacional colocar esses aplicativos em uma lista. Depois percorrê-los, dando a cada um deles um determinado tempo para serem executados e, em seguida, fazendo-os esperar enquanto o processador está sendo ocupado por outro aplicativo. Suponha que você atue em uma empresa de desenvolvimento de jogos. Analise o problema e responda: qual código deve ser colocado na linha demarcada com # ...? O código que deve ser colocado na linha demarcada com # ... é: return jogadas[indice % len(jogadas)] O comprimento da lista de jogadas é 3. Então, se for usado o operador "resto" entre o índice e o comprimento da lista, teremos: (0 % 3) é 0, e índice 0 é a posição do item Pedra na lista de jogadas. (1 % 3) é 1, e índice 1 é a posição do item Papel na lista de jogadas. (2 % 3) é 2, e índice 2 é a posição do item Tesoura na lista de jogadas. (3 % 3) é 0, e índice 0 é a posição do item Pedra na lista de jogadas. (4 % 3) é 1, e índice 1 é a posição do item Papel na lista de jogadas. (5 % 3) é 2, e índice 2 é a posição do item Tesoura na lista de jogadas. (6 % 3) é 0, e índice 0 é a posição do item Pedra na lista de jogadas. (7 % 3) é 1, e índice 1 é a posição do item Papel na lista de jogadas. (8 % 3) é 2, e índice 2 é a posição do item Tesoura na lista de jogadas. E assim sucessivamente. Exercícios 1. Uma lista Python tem algumas características peculiares. Quais das seguintes alternativas são verdadeiras para as características de listas em Python? . Um determinado objeto pode aparecer em uma lista mais de uma vez. Uma lista é uma coleção ordenada de objetos. A ordem dos elementos importa, pois é uma característica inata da lista. Uma lista pode conter qualquer número de elementos (limitados pela memória do computador, é claro), e de qualquer tipo. O mesmo objeto pode ocorrer várias vezes. . Considere a seguinte definição de lista: a = ['a', 'b', 'c', 'd', 'e', 'f'] As alternativas a seguir são instruções Python com notação de fatiamento de lista. Qual exibe a saída correta? B. print( a[ -5:-3 ] ) # Saída: ['b', 'c']. Levando em conta os índices positivos e negativos da lista apresentada, as saídas corretas para as alternativas são: print( a[ 4:-2 ] ) # Saída: [] print( a[-5:-3] ) # Saída: ['b', 'c'] print( max( a[ 2:4 ] + [ 'g' ] ) ) # Saída: g print( a[ -6 ] ) # Saída: a print( a[ : ] is a ) # Saída: False 3. Listas em Python também podem ser usadas para implementar o comportamento de pilhas. LIFO é o comportamento de uma pilha em que o último elemento a ser colocado na pilha é o primeiro elemento que deve sair da pilha. Levando em conta esse comportamento e a pilha a seguir, qual método de lista Python pode ser usado para remover o elemento ( '5' ) do topo da pilha, sem ter que conhecer o índice ou o valor do elemento? a = [ '1', '2', '3', '4', '5' ] C. a.pop(). Enquanto o método append() adiciona um elemento no topo da pilha, o método da classe list, que pode remover o último elemento da pilha sem ter que conhecer o índice ou o valor do elemento, é o pop(). Em contrapartida, para o método remove() e a instrução del, é necessário saber o índice ou o valor do elemento. Por fim, o método clear() esvazia a pilha. 4. Listas em Python também servem para implementar o comportamento FIFO em que o primeiro elemento a entrar na fila é o primeiro a sair. Levando em conta a fila a seguir, o que ocorre com os outros elementos e índices quando o primeiro elemento da fila é removido? a = [ 'a', 'b', 'c', 'd', 'e', 'f' ] a.pop( 0 ) D. Cada elemento restante será movido para a posição anterior e o último índice é removido. Quando o primeiro elemento da fila é removido, cada elemento restante da fila é movido para o índice anterior. Por fim, o índice do último elemento ficará sem valor, então, ele é removido. 5. Qual é o nome da classe pertencente ao módulo collections e que pode ser usada, alternativamente, para implementar pilhas e filas com performance melhor do que usar os métodos da biblioteca padrão do Python? E. deque. O nome da classe pertencente ao módulo collections que pode ser usada, alternativamente, para implementar pilhas e filas com performance melhor do que usar os métodos da biblioteca padrão do Python é a classe deque. O import da classe fica assim: from collections import deque.
Compartilhar