Списки
Списки — это последовательности, похожие на массивы из других языков программирования. Они записываются в квадратных скобках через запятую.
russian_alphabet = ['а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я']
Можно получить и, например, напечатать весь список или его элемент, указав в квадратных скобках индекс. Это порядковый номер элемента минус единица, так как первый индекс всегда 0.
russian_alphabet = ['а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я']
print(russian_alphabet)
print(russian_alphabet[3])
print(russian_alphabet[0])
2
3
4
['а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я']
г
а
2
3
Для удобства чтения кода можете при объявлении списка расположить его элементы на разных строчках. Python всё равно воспринимает их как линейный ряд значений:
# неважно, где при объявлении списка его скобки, и сколько строк заняли элементы:
card_suits = [
'♠', '♤',
'♥', '♡',
'♣', '♧',
'♦', '♢'
]
print(card_suits)
2
3
4
5
6
7
8
# а на экран выводится простой ряд:
['♠', '♤', '♥', '♡', '♣', '♧', '♦', '♢']
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)
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]
2
К списку, который хранится в переменной, можно прибавить другой. Для примера наберём участников в группу "бременские музыканты":
bremen_musicians = []
# не группа, а одно название
print(bremen_musicians) # []
2
3
bremen_musicians = bremen_musicians + ['Трубадур']
# теперь опять не группа, а один Трубадур
2
Когда результат объединения списков складывается в тот же список, рекомендуется использовать оператор += для более краткой и выразительной записи:
# добавим к нему животных
bremen_musicians += ['Кот', 'Пёс', 'Осёл', 'Петух']
# теперь в группе полно участников
print(bremen_musicians) # ['Трубадур', 'Кот', 'Пёс', 'Осёл', 'Петух']
2
3
4
Чтобы подсчитать, сколько в списке элементов, вызывают стандартную функцию len() (от англ. length, «длина»).
count = len(bremen_musicians)
print(count) # 5
2
Упражнения
- Сообщите Вите, кто ваши друзья. Для этого создайте список
friends
с элементами в таком порядке: 'Серёга', 'Соня', 'Дима', 'Алина', 'Егор'.
print("Привет, я Анфиса!")
# допишите код ниже
2
- Вита должна не только знать ваших друзей, но и рассказывать о каждом из них. В переменной
friend_inde
x записан номер друга, информация о котором нас интересует. Научите Виту печатать сообщение{имя друга с номером friend_index}
живёт в Красноярске.
print("Привет, я Анфиса!")
friends = ['Серёга', 'Соня', 'Дима', 'Алина', 'Егор']
friend_index = 2 # можете поменять индекс и посмотреть, как ведет себя код
# допишите свой код тут
2
3
4
5
6
- Добавим Вите немного функциональности. Научим её считать и перечислять друзей.
print("Привет, я Анфиса!")
friends = ['Серёга', 'Соня', 'Дима', 'Алина', 'Егор']
# допишите свой код сюда
2
3
4
- Объявите переменную count и сохраните в ней количество друзей. Посчитайте их вызовом функции
len()
. - Выведите на экран строку
У тебя {количество} друзей
, где{количество}
— значение переменной count.
Объединение строк
Сделать одну строку из списка строк позволяет метод join
(англ. «объединить»). Он принимает список как аргумент и возвращает одну строку, например:
bayan = ['[', ':', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', ':', ']']
# превращаем список в баян методом join()
print(''.join(bayan)) # [:||||||||||:]
2
3
Мы впервые используем такой инструмент, как метод. Это разновидность функции. С другими функциями, вроде print()
и len()
, у него много общего. Тоже мини-программа из Python, тоже аргументы в круглых скобках. Однако, в отличие от функций, метод в коде привязывается к объекту, в нашем случае — к строке.
Вызов метода записывают всегда так:
объект.имя_метода(аргументы_метода)
Вот пример, когда метод .join()
применяется к строке ", и ":
pushkin_i_remember = ['божество', 'вдохновенье', 'жизнь', 'слёзы', 'любовь']
print('Что было после чудного мгновенья: и ' + ', и '.join(pushkin_i_remember))
2
Что было после чудного мгновенья: и божество, и вдохновенье, и жизнь, и слёзы, и любовь
Метод .join()
сделал из списка строку, а объект, к которому применяли метод, стал разделителем. В примере с баяном разделитель был равен пустой строке, поэтому символы встали рядом.
Упражнения
- Вызовите метод join() с аргументом friends, чтобы получилась строка из имён, разделённых запятой и пробелом. Сохраните эту строку в переменной friends_string. В конце программы выведите её значение, подставив в сообщение: Твои друзья: {список_друзей}
print("Привет, я Анфиса!")
friends = ['Серёга', 'Соня', 'Дима', 'Алина', 'Егор']
# допишите свой код сюда
2
3
4
- В переменной
stations
хранятся станции электрички Москва — Петушки. Выведите на экран маршрут, в котором все станции перечислены через дефис. По обе стороны от каждого дефиса должны стоять пробелы.
stations = ['Москва', 'Серп и Молот', 'Карачарово', 'Чухлинка', 'Кусково', 'Новогиреево', 'Реутово', 'Никольское', 'Салтыковская', 'Кучино', 'Железнодорожная', 'Черное', 'Купавна', '33-й километр', 'Электроугли', '43-й километр', 'Храпуново', 'Есино', 'Фрязево', '61-й километр', '65-й километр', 'Павлово-Посад', 'Назарьево', 'Дрезна', '85-й километр', 'Орехово-Зуево', 'Крутое', 'Воиново', 'Усад', '105-й километр', 'Покров', '113-й километр', 'Омутище', 'Леоново', 'Петушки']
# напишите свой код здесь
2
3
- Напишите программу, которая запрашивает у пользователя количество строк для введенного стихотворения. Дальше дает пользователю возможность пользователю ввести нужное число строк. Затем нужно вывести количество строк, гласных и согласных в стихотворении и в каждой строке.
Для упрощения давайте вводить стихотворение только маленькими русскими буквами.
Пример ввода:
Сколько будет строк? 4
умом питона не понять
попугаем не измерить
в нем особенная стать
в питона можно просто верить
2
3
4
5
Пример результата:
Количество гласных: 32
Количество согласных: 42
2