Print full list python

Как вывести список в Python

А вы знаете, что вывести на экран список в Python можно несколькими способами? В этой статье мы разберем несколько приемов распечатки списка.

11 способов вывести список на экран в Python

1. Вывод списка при помощи *

Чтобы распечатать список список с использованием оператора * , нужно использовать функцию print() следующим образом:

Элементы будут выведены через пробел, как при использовании print() с несколькими аргументами. Например:

pokemon_list = ['Pikachu', 'Abra', 'Charmander'] print(*pokemon_list) # Результат: # Pikachu Abra Charmander

Оператор * также можно использовать для распаковки списка при вызове функции, принимающей несколько аргументов:

def print_pokemon(pokemon1, pokemon2, pokemon3): print(pokemon1) print(pokemon2) print(pokemon3) print_pokemon(*pokemon_list)

2. Вывод списка Python с разделителями между элементами

Чтобы вывести список с определенными разделителями, можно использовать представление списка внутри функции print() :

print(*[item + '\n' for item in pokemon_list])

Символ новой строки \n , добавленный после каждого элемента, гарантирует, что каждый элемент будет выведен на отдельной строке:

Читайте также:  Создать графический интерфейс на python

Помните, что в качестве разделителя можно использовать любую строку. Например, чтобы элементы списка отделялись друг от друга запятой и пробелом, можно использовать следующий синтаксис:

print(*[item + ', ' for item in pokemon_list]) # Результат: # Pikachu, Abra, Charmander,

Обратите внимание, что за последним элементом тоже будут идти запятая и пробел, а вам этого может и не хотеться.

3. Как вывести список без разделителя в конце

Чтобы избежать этой ловушки, можно использовать выражение if внутри представления списка. Таким образом можно указать добавлять разделитель после всех элементов, кроме последнего. Вот как это выглядит:

Чтобы вывести список с разделителями, но без разделителя в конце, также можно использовать функцию print() с именованным аргументом sep . Элементы будут разделены запятой и пробелом:

print(*pokemon_list, sep=', ') # Результат: # Pikachu, Abra, Charmander

Обратите внимание, что print() автоматически добавляет пробел после каждого элемента, так что его можно не включать в строку разделителя.

Как уже упоминалось, разделителем может быть любая строка, например, дефис:

print(*pokemon_list, sep='-') # Результат: # Pikachu-Abra-Charmander

Помните, что именованный аргумент sep определяет только разделитель между элементами, но не за последним элементом.

Предположим, вы хотите подавить автоматическое добавление пробела после конечного элемента. В этом случае можно использовать именованный аргумент end и задать другую строку, которую следует вывести вместо конечного пробела:

print(*pokemon_list, sep=', ', end='') # Результат: # Pikachu, Abra, Charmander

4. Вывод списка при помощи join()

Чтобы вывести список с использованием метода join() , нужно применить следующий синтаксис:

print(separator.join(list_name))

Элементы списка будут объединены в одну строку со строкой-разделителем между ними ( separator ). Например, чтобы вывести список покемонов через запятую и пробел, можно написать такой код:

print(', '.join(pokemon_list)) # Результат: # Pikachu, Abra, Charmander

Если хотите добавить строку до или после списка, можно воспользоваться оператором + для конкатенации строк:

print('Pokemons: ' + ', '.join(pokemon_list)) # Результат: # Pokemons: Pikachu, Abra, Charmander

5. Конвертация списка в строку с последующим выводом

Можно сперва преобразовать список в строку, а затем вывести его. Для конвертации используется функция str() :

Список будет выведен как строка, элементы будут заключены в квадратные скобки и разделены запятыми:

6. Вывод элементов списка с их индексами

Для распечатки списка с индексами элементов можно воспользоваться функцией enumerate() и циклом for :

for i, pokemon in enumerate(pokemon_list): print(i, pokemon)
0 Pikachu 1 Abra 2 Charmander

От редакции Pythonist: подробнее об enumerate() читайте в статье «Как работает функция enumerate() в Python?».

Функция enumerate() возвращает итератор, который производит кортежи, содержащие индекс и значение каждого элемента списка. При помощи цикла for можно перебрать эти кортежи и вывести индексы со значениями.

Используя вариацию одного из уже рассмотренных способов вывода списка, мы можем настроить вывод индексов и значений. Например:

for i, pokemon in enumerate(pokemon_list): print('<>: <>'.format(i, pokemon))
0: Pikachu 1: Abra 2: Charmander

Также можно использовать представление списка для создания нового списка строк с отформатированными индексами и значениями всех элементов, а затем применить print() для вывода:

result = ['<>: <>'.format(i, pokemon) for i, pokemon in enumerate(pokemon_list)] print(result) # Результат: # ['0: Pikachu', '1: Abra', '2: Charmander']

Помните, что функция enumerate() возвращает индекс каждого элемента, начиная с 0. Если вы хотите, чтобы индексация начиналась с другого числа, вы можете передать его функции в качестве аргумента. Например:

for i, pokemon in enumerate(pokemon_list, 1): print('<>: <>'.format(i, pokemon))
1: Pikachu 2: Abra 3: Charmander

7. Вывод сразу двух списков

Чтобы вывести два списка таким образом, чтобы их элементы выстроились попарно, нужно проитерировать оба списка в одном цикле. Для этого можно использовать цикл for и функцию zip() .

От редакции Pythonist: о функции zip() предлагаем почитать в статье «Используем zip() для парной итерации».

Функция zip() возвращает итератор. Этот итератор производит кортежи из элементов, стоящих на одинаковых позициях в списках. Полученные кортежи можно перебрать в цикле и распечатать элементы.

a = ['a1', 'a2', 'a3'] b = ['b1', 'b2', 'b3'] for x, y in zip(a, b): print(x, y)

При помощи представления списка также можно создать новый список со спаренными элементами двух исходных, а затем вывести его:

a = ['a1', 'a2', 'a3'] b = ['b1', 'b2', 'b3'] result = [x + y for x, y in zip(a, b)] print(result) # Результат: # ['a1b1', 'a2b2', 'a3b3']

Важно помнить, что функция zip() перебирает элементы списков только пока они не исчерпаются в самом коротком списке. Если ваши списки разной длины, не все элементы более длинного списка попадут в вывод. Например:

a = ['a1', 'a2', 'a3'] b = ['b1', 'b2'] for x, y in zip(a, b): print(x, y)

Если вы хотите включить все элементы более длинного списка, можно вместо недостающих элементов более короткого списка использовать значения None. Для этого применяется функция itertools.zip_longest() из модуля itertools. Например:

import itertools a = ['a1', 'a2', 'a3'] b = ['b1', 'b2'] for x, y in itertools.zip_longest(a, b): print(x, y)

8. Как вывести вложенный список Python

Для вывода вложенного списка можно сначала перебрать в цикле элементы внешнего списка, а затем, в другом цикле, перебрать элементы внутреннего. Например:

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] for sublist in nested_list: for item in sublist: print(item)

Списки также можно вывести на разных строках:

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] for sublist in nested_list: print(*sublist, sep=",")

Еще можно создать новый список из элементов вложенного при помощи list comprehension и вывести его при помощи print() :

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] result = [item for sublist in nested_list for item in sublist] # Результат: # [1, 2, 3, 4, 5, 6, 7, 8, 9]

9. Использование pprint()

Еще можно использовать модуль pprint, который предоставляет функцию pprint() для красивой распечатки списков и других структур данных:

import pprint pokemon_list = ['Pikachu', 'Abra', 'Charmander'] pprint.pprint(pokemon_list) # Результат: # ['Pikachu', 'Abra', 'Charmander']

10. Использование dumps()

Для вывода списка можно применить модуль json, в котором есть функция dumps() . Она может конвертировать список в строку JSON:

import json pokemon_list = ['Pikachu', 'Abra', 'Charmander'] print(json.dumps(pokemon_list)) # Результат: # ["Pikachu", "Abra", "Charmander"]

11. Вывод списка при помощи f-строк

И, наконец, можно использовать f-строки (доступно в Python 3.6 и более новых версиях). Этот функционал позволяет встраивать выражения в строковые литералы при помощи плейсхолдера <> :

for pokemon in pokemon_list: print(f' is a pokemon')
Pikachu is a pokemon Abra is a pokemon Charmander is a pokemon

От редакции Pythonist: об f-строках читайте в статье «Форматирование строк в Python: format() и f-строки».

Источник

3 Ways to Print a List in Python [Step-by-Step]

Printing List In Python

Printing lists in Python is a fundamental operation that allows developers to display list elements individually.

This can be useful in many situations. For instance, suppose you’re building a social media application that contains all of a user’s friends in a Python list. In that case, you’ll need to print the list to display them. This is just an example, the reason can be more such as printing the list’s elements for debugging, sharing data, outputting results, etc.

This tutorial will show you various techniques and methods to print all the elements of a list in Python. Let’s start with a short introduction to the list.

Introduction to Python List

Python offers us various in-built data structures to make storing and processing data much easier. A list is one of them.

Python List is a typed array that can store duplicated elements, it is an ordered collection of data, dynamic in size, and mutable, and its elements can be accessed using list indexing.

Since there is an ordered data collection, it becomes easy to print the contents of a list. Python has a lot to offer for this, let’s look at them one by one.

Python map() function can be clubbed with the join() function to print the Python list elements individually.

Here, inside ‘ ‘, you can insert /n if you want to print each element of a list on the next line, or you can insert a comma(,) so that element is in one line separated by commas, or you can use any custom symbols.

lst = [10,20,30,'John',50,'Joe'] print("Elements of List:\n") print('\n'.join(map(str, lst)))

Here we used the map() function to convert the integer & string data types present in the list to the string using str() as the mapping function. Then, we used the join() function to combine the elements into a single string with a newline character (‘\n’) used as the separator between list items.

Elements of List: 10 20 30 John 50 Joe

In the above output, you can see that each element of the list is printed on a new line, hence the operation is successful.

To make the process easier, we can use the * symbol to unpack the list elements and print it further. Let’s see how.

We can customize the output by including the sep value.

lst = [10,20,30,'John',50,'Joe'] print("Elements of List:\n") print(*lst, sep = "\n")

Here we have passed sep = “\n” so that each element will be printed in a new line like in the previous example.

Elements of List: 10 20 30 John 50 Joe

Here we got the same output as above but this method is shorter and easier than the previous one as we use just one symbol whereas, in the previous method, we have to use three methods.

As a beginner, the naive approach is always the best to start with. In this method, we iterate over each element of the list one by one using for loop and print the element parallelly.

for element in list: print(element)
lst = [10,20,30,'John',50,'Joe'] print("Elements of List:\n") for x in lst: print(x)

Here, for loop will iterate through the list one by one, and print the element on each iteration. For this method, each element will automatically be printed on a new line, so nothing extra is needed.

Elements of List: 10 20 30 John 50 Joe

In the above output, we got the same result as the previous results. Still, this approach seems simple and easy to understand for beginners as no additional parameters or methods are required here.

Conclusion

In this tutorial, we looked at three ways to print a Python list: using map(), using the * symbol, and using a for loop. All of them can be used accordingly, but if you want the simplest way that doesn’t use an extra concept then it’s best to use a traditional for loop. Hope you got enough information to be able to print a list of elements in Python.

References

Источник

Оцените статью