При выводе содержимого списка с помощью функции print()
вывод элементов осуществляется в квадратных скобках, причём все элементы разделены запятой. Такой вывод не всегда удобен и предпочтителен, поэтому нужно уметь выводить элементы списка нужным нам способом.
Вывод с помощью цикла for
Для вывода элементов списка каждого на отдельной строке можно использовать следующий код:
Вариант 1. Если нужны индексы элементов:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in range(len(numbers)):
print(numbers[i])
Мы передаем в функцию range()
длину списка len(numbers)
. В нашем случае длина списка numbers
равна 11
. Таким образом, вызов функции range(len(numbers))
имеет вид range(11)
, и переменная цикла i
последовательно перебирает все значения от 0
до 10
. Это означает, что выражение numbers[i]
последовательно вернёт все элементы списка numbers
. Такой способ итерации списка удобен, когда нам нужен не только сам элемент numbers[i]
, но и его индекс i
.
Вариант 2. Если индексы не нужны:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
print(num)
Этот цикл пройдёт по списку numbers
, придавая переменной цикла num
значение каждого элемента списка (!) в отличие от предыдущего цикла, в котором переменная цикла «бегала» по индексам списка.
Если требуется выводить элементы списка на одной строке через пробел, то мы можем использовать необязательный параметр end
функции print()
:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
print(num, end=' ')
Вывод с помощью распаковки списка
В Python есть удобный способ вывода элементов списка без использования цикла for
.
Вариант 1. Вывод элементов списка через один символ пробела:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(*numbers)
Приведённый выше код выводит:
0 1 2 3 4 5 6 7 8 9 10
Вариант 2. Вывод элементов списка, каждого на отдельной строке:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(*numbers, sep='\n')
Приведённый выше код выводит:
0
1
2
3
4
5
6
7
8
9
10
Поскольку строки содержат символы, подобно тому, как списки содержат элементы, то мы можем использовать распаковку строк точно так же, как и распаковку списков.
Приведённый ниже код:
s = 'Python'
print(*s)
print()
print(*s, sep='\n')
выводит
P y t h o n
P
y
t
h
o
n