As listas são uma das estruturas de dados mais fundamentais e poderosas em Python. Elas oferecem uma maneira flexível e eficiente de armazenar coleções de itens. Neste artigo, vamos explorar as características e funcionalidades das listas em Python, pois este é um assunto que já caiu em provas da Cesgranrio.
Em Python, uma lista é uma coleção ordenada de itens, que podem ser de diferentes tipos. As listas são mutáveis, o que significa que você pode alterar, adicionar ou remover itens conforme necessário.
Este artigo está dividido nos seguintes tópicos
Criando uma lista em Python
Tipos de Itens em uma Lista
Acesso aos Itens da Lista
Operações com Listas
Outros métodos ou funções importantes para listas em Python
Iterando sobre uma Lista
Fatiamento (Slicing) de Listas em Python
Questões sobre Listas em Python
Criando uma lista em Python
Para criar uma lista em Python, você pode simplesmente colocar os itens entre colchetes [ ], separados por vírgulas.
Neste exemplo, criamos uma lista chamada minha_lista com cinco elementos do tipo inteiro.
Tipos de Itens em uma Lista em Python
Uma das vantagens das listas em Python é sua capacidade de armazenar uma variedade de tipos de dados. Você pode incluir praticamente qualquer tipo de item em uma lista, incluindo:
Números inteiros e flutuantes
Strings
Booleanos
Outras listas
Tuplas
Dicionários
Conjuntos
E até mesmo objetos personalizados
Essa flexibilidade torna as listas extremamente versáteis e úteis em uma ampla gama de cenários de programação.
Exemplos de Inclusão de Itens em uma Lista
Inclusão de Números e Strings
Neste exemplo, a minha_lista possui 5 elementos, sendo três inteiros e duas strings. Isso mostra a grande flexibilidade que as listas possuem, pois permitem a inclusão de diferentes tipos de dados em uma mesma lista.
Inclusão de Outras Listas
Neste exemplo, criamos duas listas iniciais (lista_1 e lista_2) e depois criando uma terceira lista (minha_lista) que contém as duas listas. Ou seja, podemos ter uma lista de listas.
Inclusão de Diferentes Tipos de Dados
Neste exemplo, a minha_lista tem quatro elementos: um inteiro (1), uma string (“dois”), um booleano (True) e uma lista ([4, 5, 6]).
Inclusão de Objetos Personalizados
Por último, temos uma lista de objetos. Temos dois objetos da classe Pessoa e colocamos em uma lista, que é a lista_pessoas. Ou seja, podemos criar nossos próprios objetos e colocá-los em listas.
Acesso aos Itens da Lista
Para acessar os itens de uma lista, utilizamos os índices. O índice de um item na lista representa sua posição, começando do zero para o primeiro item, um para o segundo item e assim por diante. Você pode acessar um item específico da lista usando seu índice correspondente.
Além disso, é possível acessar os itens da lista usando índices negativos, onde -1 se refere ao último item, -2 ao penúltimo e assim por diante.
Adição de Itens
É possível adicionar novos itens a uma lista usando o método append() ou insert().
A diferença entre os dois métodos é que o append adiciona ao final da lista, já o insert permite inserir no índice indicado como parâmetro.
Remoção de Itens
Para remover itens de uma lista, você pode usar os métodos remove() ou pop().
A diferença entre esses dois métodos é que o método pop retorna o elemento que foi removido, enquanto que o método remove apenas remove sem retornar nada.
Outros métodos ou funções importantes para listas em Python
index()
O método index() é retorna o índice do primeiro item na lista que corresponde a um valor específico.
Neste caso, o índice do elemento 2 é igual a 1, pois uma lista começa do índice 0.
count()
O método count() é conta o número de ocorrências de um item específico na lista.
Observe que existem dois elementos de valor 2 na lista, portanto o método count(2) retornará 2.
sort()
O método sort() é ordena os itens da lista em ordem crescente.
reverse()
O método reverse() é inverte a ordem dos itens da lista.
Perceba que o método reverse() apenas coloca os elementos de trás para frente, ou seja, se tivermos uma lista [2, 7, 5], ao usar o método reverse() a lista passará a ser [5, 7, 2].
len()
A função len() é usada para retornar o número de itens na lista.
Veja que minha_lista possui 4 elementos, portanto, o método len(minha_lista) retorna 4.
Iterando sobre uma Lista
Para percorrer todos os itens de uma lista, você pode usar um loop for.
Fatiamento (Slicing) de Listas em Python
O fatiamento, também conhecido como “slicing” em inglês, é uma técnica em Python que permite acessar partes específicas de uma sequência, como uma lista, uma string ou uma tupla. Com o fatiamento, você pode selecionar subconjuntos da sequência com base em índices de início, fim e passo.
A sintaxe básica do fatiamento é:
sequencia [ inicio : fim : passo ]
inicio: O índice onde o fatiamento começará. Se não for especificado, o fatiamento começará do início da sequência.
fim: O índice onde o fatiamento terminará (exclusivo). Se não for especificado, o fatiamento continuará até o final da sequência.
passo: O tamanho do incremento entre os índices durante o fatiamento. Se não for especificado, o padrão é 1.
O fatiamento retorna uma nova sequência contendo os elementos selecionados da sequência original, sem modificar a sequência original.
Por exemplo, considerando a lista minha_lista = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], podemos realizar os seguintes fatiamentos:
minha_lista[2:6] retorna [2, 3, 4, 5], pois começa no índice 2 e vai até o índice 5 (exclusivo).
minha_lista[::2] retorna [0, 2, 4, 6, 8], pois seleciona todos os elementos com um passo de 2.
minha_lista[::-1] retorna [9, 8, 7, 6, 5, 4, 3, 2, 1, 0], pois reverte a lista.
O fatiamento é uma técnica poderosa em Python, pois permite manipular partes específicas de uma sequência de maneira eficiente e concisa. É amplamente utilizado em situações onde é necessário acessar ou processar subconjuntos de uma sequência.
Exemplos de Fatiamento de Listas em Python
Agora, vamos explorar diferentes cenários. Suponha que temos a seguinte lista de exemplo:
minha_lista = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Exemplo: [1:8:2]
Neste caso, começamos do índice 1 (que é o segundo elemento da lista), vamos até o índice 8 (exclusivo) e incrementamos de 2 em 2. Isso resultará nos elementos 1, 3, 5, e 7.
Índices Negativos
Em Python, os índices negativos indicam uma contagem a partir do final da lista. Por exemplo, -1 refere-se ao último elemento, -2 ao penúltimo e assim por diante.
Fatiamento com Índices Negativos
Ausência de Índices
Se não fornecermos um índice inicial, o fatiamento começará do início da lista. Da mesma forma, se não fornecermos um índice final, o fatiamento continuará até o final da lista.
Passo Negativo
Um passo negativo inverte a direção da iteração. Isso pode ser útil para reverter uma lista.
Esses são apenas alguns exemplos de como usar fatiamento em Python para acessar subconjuntos específicos de uma lista. Essa técnica é muito útil em situações onde você precisa manipular partes específicas de uma lista de maneira eficiente.
Questões sobre Listas em Python
Questão 1
Ano: 2023 Banca: CESGRANRIO Órgão: Transpetro Prova: CESGRANRIO – 2023 – Transpetro – Técnico de Informática
Seja o seguinte programa Python:
O que será exibido no console quando esse programa for executado?
Alternativas
a) 4b) 7c) 8d) 9e) 12
Comentário:
O programa Python apresentado percorre uma lista l e, para cada elemento e dentro dela, incrementa uma variável c pelo comprimento de e. Ao final, imprime o valor de c.
Vamos analisar o programa passo a passo:
A lista l é definida como [‘abc’, [‘a’, ‘b’, ‘c’], ‘d’, [‘a’, [‘abc’, ‘d’]]].
A variável c é inicializada com o valor zero.
O programa entra em um loop for, onde cada elemento e da lista l é iterado.
Para cada elemento e da lista, o comprimento de e é calculado e somado ao valor atual de c.
O resultado é impresso no console.
A lista possui quatro elementos, quais são:
‘abc’: uma string de tamanho 3;
[‘a’, ‘b’, ‘c’]: uma lista com 3 elementos;
‘d’: uma string de tamanho 1;
[‘a’, [‘abc’, ‘d’]]: uma lista de tamanho 2. Aqui a banca quis confundir, mas perceba que este último elemento é uma lista que possui dois elementos:
‘a’
[‘abc’, ‘d’]
Somando os comprimentos, temos:
3 (para ‘abc’) + 3 (para [‘a’, ‘b’, ‘c’]) + 1 (para ‘d’) + 2 (para [‘a’, [‘abc’, ‘d’]]) = 9
Portanto, o gabarito é a letra D, pois quando o programa for executado, o valor 9 será exibido no console.
Questão 2
Ano: 2019 Banca: CESGRANRIO Órgão: UNIRIO Prova: CESGRANRIO – 2019 – UNIRIO – Analista de Tecnologia da Informação
Considere-se uma lista L, criada em Python, da seguinte forma:
L = [-20,-10,0,10,20,30]
O comando print(L[-1::-2]) apresentará o resultado
Alternativas
a) [30, 10, -10]b) [30, 20]c) [-20, 10]d) [30]e) [20]
Comentário:
Primeiro, temos uma lista chamada L contendo os elementos -20, -10, 0, 10, 20, 30.
No comando L[-1::-2], o -1 indica o índice do último elemento da lista, ou seja, iremos percorrer a lista começando do último elemento. O -2 indica que o passo é negativo, ou seja, iremos pegar os elementos de trás para frente, pulando de dois em dois. Como não colocamos nenhum índice no meio, iremos percorrer toda a lista.
Assim, executando o fatiamento, começamos do último elemento, que é 30. Com um passo de -2, retrocedemos dois elementos de cada vez.
Dessa forma, os elementos selecionados serão 30, 10, -10.
Portanto, a letra A é a alternativa correta, pois o comando print(L[-1::-2]) na lista L=[-20,-10,0,10,20,30] resultará em [30, 10, -10].
Conclusão
As listas em Python são uma ferramenta poderosa e versátil para armazenar e manipular coleções de itens. Sua capacidade de armazenar uma variedade de tipos de dados e sua mutabilidade tornam-nas essenciais para uma ampla gama de aplicações na programação.
Neste artigo, exploramos os fundamentos das listas em Python, desde a criação de listas até operações avançadas como iteração e fatiamento. Vimos como criar listas, incluir diferentes tipos de itens nelas e acessar esses itens por meio de índices. Além disso, discutimos várias operações comuns, como adicionar e remover itens, e exploramos métodos importantes para manipulação de listas, como index(), count(), sort(), reverse() e len().
Espero que o conteúdo aqui apresentado seja de grande utilidade para sua jornada rumo à aprovação. Bons estudos!
Quer saber quais serão os próximos concursos?
Confira nossos artigos!
Concursos abertos
Concursos 2024
Listas em Python para o CNU (TI)
Créditos:
Acesse também o material de estudo!