- Python Print List
- Как вывести список в Python
- 11 способов вывести список на экран в Python
- 1. Вывод списка при помощи *
- 2. Вывод списка Python с разделителями между элементами
- 3. Как вывести список без разделителя в конце
- 4. Вывод списка при помощи join()
- 5. Конвертация списка в строку с последующим выводом
- 6. Вывод элементов списка с их индексами
- 7. Вывод сразу двух списков
- 8. Как вывести вложенный список Python
- 9. Использование pprint()
- 10. Использование dumps()
- 11. Вывод списка при помощи f-строк
Python Print List
Learn to print a List in Python using different ways.
1. Printing List Items in Single Line seperated by Comma
Python program to print the items of a List in a single line, and the printed list items are separated by a comma in between. The Last character of the List is not a comma, its a new line so that next print statement prints into the new line.
To print only the List items without the square brackets, use the * asterisk operator which unpack the List items.
# List digitsList = [1, 2, 3, 4, 5] # Print the List print(digitsList, sep=", ", end="\n") # Print the List Items print(*digitsList, sep=", ")
2. Print List using join() and map() Methods
The join() method returns a string in which the items of the List have been joined by a given separator.
# List strList = ["a", "b", "c", "d", "e"] # Join list items print(' '.join(strList))
We can use map() to convert each item in the List to a string it is not a String, and then join all the items.
# List digitsList = [1, 2, 3, 4, 5] # Join list items print(' '.join(map(str, digitsList)))
3. Printing List Items with for Loop
Python program to print all the items in the List using a for loop. We are using the end argument to print the List items in the same line.
Use the len() method to check the length of List so the Loop can make that number of iterations.
# List digitsList = [1, 2, 3, 4, 5] # Printing the list using loop for i in range(len(digitsList)): print(digitsList[i])
Python example which uses the array slicing method to print a subset of items from a List. Note that indices start from 0 .
The from index is inclusive and to index is exclusive.
# List digitsList = [0, 1, 2, 3, 4, 5] # Print Sublist print(digitsList[1:3])
Как вывести список в 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 , добавленный после каждого элемента, гарантирует, что каждый элемент будет выведен на отдельной строке:
Помните, что в качестве разделителя можно использовать любую строку. Например, чтобы элементы списка отделялись друг от друга запятой и пробелом, можно использовать следующий синтаксис:
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-строки».