Приветствую всех! Вы еще не забыли, что здесь происходит? Если нет, то давайте окунемся в замечательный мир Python! Тема сегодняшнего урока — списки, словари и строки. Перед началом чтения советую повторить материалы третьего урока, особенно про цикл for, т.к. мы будем широко его применять.
Не дай помереть с голоду, опубликуй свою статью.
Строки
Мы уже встречались со строками, хотя сами это не понимали. Вот пример строки и преобразования в строку:
1 2 3 4 5 6 7 8 9 10 11 |
#Я работаю в интерпретаторе, чтобы наглядно показать тип переменной >>> stroka = 'Привет!' >>> type(stroka) #Type - полезная функция, которая определяет тип переменной. <type 'str'> >>> ch = 4 >>> type(ch) <type 'int'> >>> ch = str(4) >>> type(ch) <type 'str'> >>> |
Конечно же, имя переменной для строки может быть любым.
Есть интересные возможности у строк. Покажу их в этом примере, комментарии поясняют.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#Я опять в интерпретаторе good = 'Все хорошо!' >>> len(good) #Определяем длину строки 20 >>> good[1] #У каждой буквы есть индекс в строке. Отсчет начинается с нуля! 'с' >>> good[5] 'о' >>> time = 'morning' >>> time[0:7] #Мы произвели срез строки; отобразятся элементы с 0 по 7 индекс 'morning' >>> '+' * 3 #Мы продублировали строку 3 раза '+++' #Также можно склеить одну строку с другой, что мы уже видели в прошлых уроках (b + c) |
Еще раз повторюсь — индексы букв начинаются с нуля (0). Также строки — неизменяемый тип данных! У вас не получится заменить одну букву другой используя индексы. Впрочем, если интересно, можете попробовать.
Я вас просил вспомнить про цикл for. Почему? Потому что символы в строке можно перебрать посредством этого цикла!
1 2 3 4 5 6 7 8 |
rt='rule' for i in rt: print(i) #Вывод этого цикла: r u l e |
Задание: попробуйте вывести отдельно каждый элемент строки, не используя цикл for. Решение вы можете опубликовать в обсуждении уроков.
Списки
Если честно, то больше всего из элементов питона я люблю списки! Они гибкие, простые, удобные… Я уверен, они вам тоже понравятся.
Списки могут содержать числа, строки и даже… еще один список (т.е. вложенные списки уже получаются)! Списки заключаются в квадратные скобки [ ]. Небольшой пример:
1 2 3 |
c=['apple', 56, 'yast'] #Список из строк и чисел print(c[2]) #Угадайте, что отобразится в терминале (yast) [[6, 5, 2], ['ubuntu 12.04', 67]] #Вложенный список |
Длина списка определяется len(имя).
А теперь перед вами раскроется вся магия списков!
1 2 3 4 5 6 |
c=['uh', 'bh', 'tfedc'] c[1]='haha' #Мы изменили 1 элемент в списке на haha c[0:2]=[45, 'gg'] #Мы заменили целый срез в списке c.append(3) #Мы добавили 3 в конец списка (функция append всегда добавляет в конец списка) #Также список может содержать переменную как элемент. #При запросе вывода списка, элемент-переменная отобразит значение переменной |
Цикл for тоже применяется со списками. Он перебирает каждый элемент
Вам понравилось? Нет? Значит понравится!
Словари
В Python (читается как «пайтон»!) есть еще одни мощные инструменты — словари. Давайте вспомним обычный словарь. Элементы в нем располагаются так: ключ (слово) — значение и т.д. Питон-словари от этого принципа не отличаются.
1 2 3 4 5 6 7 8 |
#Пример словаря eng={'frog':'лягушка', 'seven':'7'} #Найдем значение у ключа frog print(eng['frog']) #Мы получим "лягушка" #Изменим значение у seven eng[seven]='семь' #Удалим все про лягушку del(eng['frog']) |
Вы можете создать пустой словарь вот такой конструкцией: переменная{}, чтобы потом в него что-нибудь добавлять. Кстати, словарь может содержать и другие типы данных, не только строки. Цикл for тоже работает со словарями, но гибкости — 0.
Tip: если вы в интерпретаторе выведите ранее сделанный словарь, то увидите, что порядок изменился.
Домашнее задание:
1. Повторите строки
2. Напишите программу, которая спрашивает пользователя числа и добавляет их в конец списка, пока количество всех элементов меньше 5. Затем с помощью цикла for выведите все числа, предварительно прибавив к первому числу 1, ко второму 2, к третьему 3 и т.д.
3. Напишите простой русско-английский словарь, который отображает перевод введенного пользователем слова. Если такого слова нет, то его надо добавить в словарь.
Выполнение домашнего задания выкладывайте здесь. И… до новых встреч!