Списки

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

russian_alphabet = ['а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я']
1

Можно получить и, например, напечатать весь список или его элемент, указав в квадратных скобках индекс. Это порядковый номер элемента минус единица, так как первый индекс всегда 0.

russian_alphabet = ['а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я']
print(russian_alphabet)
print(russian_alphabet[3])
print(russian_alphabet[0])
1
2
3
4
['а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я']
г
а
1
2
3

Для удобства чтения кода можете при объявлении списка расположить его элементы на разных строчках. Python всё равно воспринимает их как линейный ряд значений:

# неважно, где при объявлении списка его скобки, и сколько строк заняли элементы:
card_suits = [
'♠', '♤',
'♥', '♡',
'♣', '♧',
'♦', '♢'
]
print(card_suits)
1
2
3
4
5
6
7
8
# а на экран выводится простой ряд:
['♠', '♤', '♥', '♡', '♣', '♧', '♦', '♢']
1
2

Можно сделать список из выражений, тогда в нём будут храниться вычисленные значения:

# сохраним в списках вторую и третью строки таблицы Пифагора
pithagoras_2 = [ 
    2*1, 2*2, 2*3, 2*4, 2*5, 2*6, 2*7, 2*8, 2*9 
]
pithagoras_3 = [ 
    3*1, 3*2, 3*3, 3*4, 3*5, 3*6, 3*7, 3*8, 3*9 
]
print(pithagoras_2)
print(pithagoras_3)
1
2
3
4
5
6
7
8
9
[2, 4, 6, 8, 10, 12, 14, 16, 18]
[3, 6, 9, 12, 15, 18, 21, 24, 27]
1
2

К списку, который хранится в переменной, можно прибавить другой. Для примера наберём участников в группу "бременские музыканты":

bremen_musicians = []
# не группа, а одно название
print(bremen_musicians)     # []
1
2
3
bremen_musicians = bremen_musicians + ['Трубадур']
# теперь опять не группа, а один Трубадур
1
2

Когда результат объединения списков складывается в тот же список, рекомендуется использовать оператор += для более краткой и выразительной записи:

# добавим к нему животных
bremen_musicians += ['Кот', 'Пёс', 'Осёл', 'Петух']
# теперь в группе полно участников
print(bremen_musicians)         # ['Трубадур', 'Кот', 'Пёс', 'Осёл', 'Петух']
1
2
3
4

Чтобы подсчитать, сколько в списке элементов, вызывают стандартную функцию len() (от англ. length, «длина»).

count = len(bremen_musicians)
print(count)                    # 5
1
2

Упражнения

  1. Сообщите Вите, кто ваши друзья. Для этого создайте список friends с элементами в таком порядке: 'Серёга', 'Соня', 'Дима', 'Алина', 'Егор'.
print("Привет, я Анфиса!")
# допишите код ниже
1
2
  1. Вита должна не только знать ваших друзей, но и рассказывать о каждом из них. В переменной friend_index записан номер друга, информация о котором нас интересует. Научите Виту печатать сообщение {имя друга с номером friend_index} живёт в Красноярске.
print("Привет, я Анфиса!")
friends = ['Серёга', 'Соня', 'Дима', 'Алина', 'Егор']

friend_index = 2 # можете поменять индекс и посмотреть, как ведет себя код

# допишите свой код тут
1
2
3
4
5
6
  1. Добавим Вите немного функциональности. Научим её считать и перечислять друзей.
print("Привет, я Анфиса!")
friends = ['Серёга', 'Соня', 'Дима', 'Алина', 'Егор']

# допишите свой код сюда
1
2
3
4
  • Объявите переменную count и сохраните в ней количество друзей. Посчитайте их вызовом функции len().
  • Выведите на экран строку У тебя {количество} друзей, где {количество} — значение переменной count.

Объединение строк

Сделать одну строку из списка строк позволяет метод join (англ. «объединить»). Он принимает список как аргумент и возвращает одну строку, например:

bayan = ['[', ':', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', ':', ']']
# превращаем список в баян методом join()
print(''.join(bayan))       # [:||||||||||:]
1
2
3

Мы впервые используем такой инструмент, как метод. Это разновидность функции. С другими функциями, вроде print() и len(), у него много общего. Тоже мини-программа из Python, тоже аргументы в круглых скобках. Однако, в отличие от функций, метод в коде привязывается к объекту, в нашем случае — к строке.

Вызов метода записывают всегда так:

объект.имя_метода(аргументы_метода)

Вот пример, когда метод .join() применяется к строке ", и ":

pushkin_i_remember = ['божество', 'вдохновенье', 'жизнь', 'слёзы', 'любовь']
print('Что было после чудного мгновенья:  и ' + ', и '.join(pushkin_i_remember))
1
2
Что было после чудного мгновенья: и божество, и вдохновенье, и жизнь, и слёзы, и любовь
1

Метод .join() сделал из списка строку, а объект, к которому применяли метод, стал разделителем. В примере с баяном разделитель был равен пустой строке, поэтому символы встали рядом.

Упражнения

  1. Вызовите метод join() с аргументом friends, чтобы получилась строка из имён, разделённых запятой и пробелом. Сохраните эту строку в переменной friends_string. В конце программы выведите её значение, подставив в сообщение: Твои друзья: {список_друзей}
print("Привет, я Анфиса!")
friends = ['Серёга', 'Соня', 'Дима', 'Алина', 'Егор']

# допишите свой код сюда
1
2
3
4
  1. В переменной stations хранятся станции электрички Москва — Петушки. Выведите на экран маршрут, в котором все станции перечислены через дефис. По обе стороны от каждого дефиса должны стоять пробелы.
stations = ['Москва', 'Серп и Молот', 'Карачарово', 'Чухлинка', 'Кусково', 'Новогиреево', 'Реутово', 'Никольское', 'Салтыковская', 'Кучино', 'Железнодорожная', 'Черное', 'Купавна', '33-й километр', 'Электроугли', '43-й километр', 'Храпуново', 'Есино', 'Фрязево', '61-й километр', '65-й километр', 'Павлово-Посад', 'Назарьево', 'Дрезна', '85-й километр', 'Орехово-Зуево', 'Крутое', 'Воиново', 'Усад', '105-й километр', 'Покров', '113-й километр', 'Омутище', 'Леоново', 'Петушки']

# напишите свой код здесь
1
2
3
  1. Напишите программу, которая запрашивает у пользователя количество строк для введенного стихотворения. Дальше дает пользователю возможность пользователю ввести нужное число строк. Затем нужно вывести количество строк, гласных и согласных в стихотворении и в каждой строке.

Для упрощения давайте вводить стихотворение только маленькими русскими буквами.

Пример ввода:

Сколько будет строк? 4
умом питона не понять
попугаем не измерить
в нем особенная стать
в питона можно просто верить
1
2
3
4
5

Пример результата:

Количество гласных: 32
Количество согласных: 42
1
2