6 abordagens diferentes para exibir listas em Python

6 abordagens diferentes para exibir listas em Python

Nó Fonte: 3091325

Introdução

Em Python, imprimir listas não envolve apenas mostrar valores; é uma maneira de os programadores entenderem melhor seu código e garantirem que os dados estejam corretos. Vamos explorar diferentes formas de imprimir listas, com exemplos práticos e dicas para deixar as coisas mais claras. Vamos mergulhar no mundo das listas Python.

Inscreva-se em nosso curso livre de Python.

Índice

Imprimir listas em Python

Impressão listas em Python abre uma gama de métodos e, neste artigo, exploraremos várias abordagens eficazes:

  • Usando o loop for
  • Converter uma lista em string para exibição
  • Usando o parâmetro sep em print()
  • Usando a função map()
  • Usando indexação e fatiamento
  • Usando compreensão de lista

Exibir uma lista em Python usando um loop For

Itere pela lista de 0 até seu comprimento e imprima cada elemento individualmente usando um loop for; esta é a maneira convencional de fazer isso.

Abaixo está um exemplo de exibição de uma lista em Python usando um loop for:

# Creating a list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying each fruit using a for loop

print("List of Fruits:")

for fruit in fruits:

    print(fruit)

Neste exemplo, temos uma lista de frutas, e o loop for percorre cada item da lista, exibindo-os um por um.

Saída:

Exibindo listas

Complexidade de tempo (O(n)):

A complexidade de tempo é O(n) porque, em um loop for, cada elemento da lista é visitado uma vez, e o tempo necessário para executar o loop é diretamente proporcional ao número de elementos na lista de entrada.

Complexidade Espacial (O(1)):

A complexidade do espaço é O(1), pois o loop usa uma quantidade constante de memória, independentemente do tamanho da entrada; ele emprega apenas uma única variável (elemento) para representar cada item da lista e não cria estruturas de dados adicionais que crescem com a entrada.

Exibir uma lista convertendo-a em uma string

Ao lidar com uma lista de cordas, uma abordagem direta é usar a função join() para facilitar a concatenação. No entanto, quando a lista contém números inteiros, é necessário um processo de duas etapas: primeiro, converta-os em strings e depois utilize a função join() para criar uma string unificada para exibição.

Aqui está um exemplo:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Convert the list to a string and display it

result_string = ', '.join(fruits)

print("List of Fruits: " + result_string)

Neste exemplo, o método join concatena os elementos da lista em um único corda, separados por vírgula e espaço. O resultado é então exibido como uma string formatada.

Saída:

Exibindo listas

Complexidade de tempo (O(n)):

A complexidade do tempo é O(n) porque, em um loop for, cada elemento da lista é processado uma vez e o tempo de execução é escalonado linearmente com o número de elementos na lista de entrada. À medida que a entrada aumenta, o tempo de execução do algoritmo aumenta proporcionalmente.

Complexidade Espacial (O(1)):

A complexidade do espaço é O(1) porque o algoritmo usa uma quantidade constante de memória, independentemente do tamanho da entrada. O loop requer apenas uma única variável (elemento) para representar cada item da lista e não cria estruturas de dados ou memória adicionais que dependem do tamanho da lista de entrada.

Exibir com o parâmetro sep em Print()

O parâmetro sep na função print() permite especificar um separador entre os itens que você está imprimindo. 

Usar o símbolo de asterisco (*) permite apresentar os elementos da lista em uma única linha com espaços. Para uma exibição com cada elemento em uma nova linha ou separados por vírgulas, utilize sep=”n” ou sep=”, ” respectivamente. 

Aqui está um exemplo usando uma lista de frutas:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the list with a custom separator using the sep parameter

print("List of Fruits:", *fruits, sep=", ")

Neste exemplo, sep=”, ” especifica que uma vírgula e um espaço devem ser usados ​​como separador entre os itens da lista.

Saída:

Complexidade de tempo (O(n)):

A complexidade de tempo é O(n) porque, com um loop for, cada elemento da lista é processado individualmente. À medida que o número de elementos (n) cresce, o tempo de execução aumenta linearmente, refletindo uma relação direta entre o tamanho da entrada e o tempo de computação.

Complexidade Espacial (O(1)):

A complexidade do espaço é O(1), pois o algoritmo utiliza uma quantidade consistente de memória, independente do tamanho da entrada. O loop emprega um conjunto fixo de variáveis ​​(como 'elemento') e evita a criação de estruturas de dados adicionais ou a alocação dinâmica de memória em relação ao tamanho da entrada.

Exibir uma lista em Python usando a função Map()

Use a função map() para garantir que cada item da lista seja uma string, especialmente quando a lista inclui elementos que não são string. Em seguida, mescle esses elementos transformados usando a função join para uma exibição unificada.

Aqui está um exemplo de exibição de uma lista de frutas em Python:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the list of fruits

print("List of Fruits:", fruits)

Saída:

A função print() formata automaticamente a lista para exibição. Se quiser personalizar ainda mais a saída, você pode percorrer a lista e imprimir cada item individualmente ou usar o método join, conforme mostrado nos exemplos anteriores.

Exibir uma lista em Python usando indexação e fatiamento

Você pode exibir uma lista em Python usando indexação e fatiamento para acessar elementos específicos ou um subconjunto da lista. 

Aqui está um exemplo:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the entire list

print("Complete List of Fruits:", fruits)

# Displaying specific elements using indexing

print("First Fruit:", fruits[0])

print("Third Fruit:", fruits[2])

# Displaying a subset using slicing

print("Subset of Fruits:", fruits[1:4])

Saída:

Neste exemplo, a indexação é usada para acessar elementos individuais (por exemplo, frutas[0] para o primeiro elemento) e o fatiamento é usado para exibir um subconjunto da lista (por exemplo, frutas[1:4] para elementos no índice 1, 2 e 3).

Complexidade de tempo (O(n)):

A complexidade do tempo é O(n) porque iterar uma lista usando indexação ou fatiamento envolve visitar cada elemento uma vez. À medida que o tamanho da lista (n) aumenta, o tempo necessário para acessar ou fatiar a lista aumenta linearmente.

Complexidade Espacial (O(1)):

A complexidade do espaço é O(1) para operações de indexação e fatiamento, pois elas usam uma quantidade constante de memória adicional, independentemente do tamanho da lista. A memória necessária para variáveis ​​de índice/fatia permanece constante, não sendo escalonada com o tamanho de entrada.

Exibir uma lista em Python usando compreensão de lista

A compreensão de lista é um recurso conciso em Python para criar listas aplicando uma expressão a cada item em um iterável existente. Ele fornece uma sintaxe compacta que combina as etapas de criação de uma nova lista e aplicação de uma transformação aos seus elementos.

Aqui está um exemplo de exibição de uma lista modificada de frutas usando compreensão de lista:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Using list comprehension to create a new list with capitalized fruits

capitalized_fruits = [fruit.capitalize() for fruit in fruits]

# Displaying the new list

print("Capitalized Fruits:", capitalized_fruits)

Saída:

Exibindo listas

Neste exemplo, a compreensão de lista é utilizada para criar uma nova lista (frutas_maiúsculas). O resultado é uma lista de frutas com seus nomes em maiúscula.

Complexidade de tempo (O(n)):

A complexidade de tempo é O(n) para este exemplo porque ele itera através de cada elemento na lista original de frutas. O tempo de execução aumenta linearmente com o número de frutas, tornando-o proporcional ao tamanho da lista de entrada.

Complexidade Espacial (O(n)):

A complexidade do espaço é O(n), pois a compreensão da lista cria uma nova lista (frutas_maiúsculas) que cresce com o tamanho da lista de entrada (frutas). Cada elemento da lista original corresponde a um elemento da nova lista, contribuindo para uma relação linear entre o tamanho da entrada e a memória utilizada.

Conclusão

Em Python, dominar a arte de imprimir listas é crucial para a compreensão do código e visualização de dados. Este guia explorou seis maneiras eficazes de exibir listas, oferecendo exemplos práticos e dicas para maior clareza. Seja usando loops, conversão de strings, separadores personalizados, funções de mapa, indexação, fatiamento ou compreensão de listas, cada abordagem serve a um propósito específico, aprimorando suas habilidades de programação em Python.

Perguntas Frequentes

Q1. Por que a compreensão de listas é recomendada para exibir listas?

A. A compreensão da lista é recomendada por sua sintaxe concisa e eficiência. Permite a criação de listas modificadas com uma única linha de código, tornando o código mais legível.

Q2. Como a indexação afeta a complexidade do tempo ao exibir uma lista?

A. A indexação tem uma complexidade de tempo de O(1) para acessar elementos individuais, fornecendo tempo constante independentemente do tamanho da lista. No entanto, iterar por toda a lista usando indexação resulta em complexidade de tempo O(n).

Q3. Quando o parâmetro sep em print() deve ser usado?

A. O parâmetro sep é útil ao personalizar o separador entre itens em uma lista impressa. Permite uma exibição organizada, principalmente ao apresentar elementos em uma única linha ou com separador específico.

Q4. Existe um método recomendado para exibir uma lista de strings?

R. Sim, o uso da função join() é recomendado para exibir uma lista de strings. Ele concatena eficientemente os elementos com um separador especificado, criando uma string unificada para fácil exibição.

P5: Como a compreensão da lista afeta a complexidade do espaço?

A5: A compreensão da lista tem uma complexidade espacial de O(n), onde n é o tamanho da lista de entrada. Cria uma nova lista com o mesmo número de elementos da lista original. Portanto, contribuindo para uma relação linear entre tamanho de entrada e uso de memória.

Carimbo de hora:

Mais de Análise Vidhya