Concursos Públicos

Listas em Python para o CNU (TI)

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.

Operações com Listas em Python

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 é:

  • 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:

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:

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) 4
b) 7
c) 8
d) 9
e) 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:

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

Antoniel da Silva Rego

Posts recentes

Concurso CRMV TO: Instituto Quadrix é a banca!

O Conselho Regional de Medicina Veterinária do Estado de Tocantins já está com a página…

4 minutos atrás

Concurso Banpará: saiu edital! Confira as principais datas

Inscrições em breve e provas em março de 2025. Confira neste artigo as principais datas…

21 minutos atrás

Concurso GCM Cianorte PR: saiu edital! Inicial de R$ 2,9 mil

Foi publicado o edital do concurso GCM Cianorte, município localizado no estado do Paraná, com…

33 minutos atrás

CSFT se reunirá quarta (6) para discutir o concurso Sefaz RJ

O Conselho Superior de Fiscalização Tributária (CSFT) se reunirá na próxima quarta, 6 de novembro,…

34 minutos atrás

Concurso Amargosa: 30 vagas com inscrições abertas!

Foram publicados 3 novos editais de concurso público da Prefeitura de Amargosa, na Bahia. Ao…

37 minutos atrás

Concurso CRMV TO: página do concurso criada!

Vem aí o concurso público do Conselho Regional de Medicina Veterinária do Estado de Tocantins…

40 minutos atrás