Учебная страница курса биоинформатики,
год поступления 2014

Памятка к практикуму 10

Про словарь

Чтение файла

Запись в файл

Комментарии

Чтобы написать комментарий в питоновском файле, используется символ решетка "#":

Переключить отображение номеров строк
   1 # I am comment
   2 print(1) # me too

Можно сделать комментарии на несколько строк:

Переключить отображение номеров строк
   1 print(0)
   2 '''
   3 I am comment
   4 me too
   5 '''
   6 print(1)

Краткая запись изменения значения

Часто переменную нужно увеличить на 1 или увеличить в 2 раза и т.п. Для этого существует короткая запись. Расшифровка записи приводится в комментариях.

Переключить отображение номеров строк
   1 x += 1         # x = x + 1
   2 x -= 1         # x = x - 1
   3 x *= 2         # x = x * 2
   4 x /= 2         # x = x / 2
   5 x //= 2        # x = x // x
   6 x %= 2         # x = x % 2
   7 x **= 2        # x = x ** 2
   8 
   9 a[5] += 1      # a[5] = a[5] + 1

Срезы

Чтобы получить символ строки с индексом i, используется такая же запись, как для получения элемента списка:

Переключить отображение номеров строк
   1 >>> "abcdef"[2]
   2 'c'

Символ - это строка длины 1. Символ обладает всеми свойствами строки.

Срез строки - это подстрока. Срез списка - это подсписок. Извините за тавтологию :)

Лучше покажу на примере:

Переключить отображение номеров строк
   1 >>> "abcdef"[2:3]    # [2, 3)
   2 'c'
   3 >>> "abcdef"[2:4]    # [2, 4)
   4 'cd'
   5 >>> "abcdef"[2:]     # [2, +∞)
   6 'cdef'
   7 >>> "abcdef"[:2]     # [0, 2)
   8 'ab'
   9 >>> "abcdef"[:]      # [0, +∞)
  10 'abcdef'

Со списками:

Переключить отображение номеров строк
   1 >>> ['a', 'b', 'c', 'd', 'e', 'f'][2:3]    # [2, 3)
   2 ['c']
   3 >>> ['a', 'b', 'c', 'd', 'e', 'f'][2:4]    # [2, 4)
   4 ['c', 'd']
   5 >>> ['a', 'b', 'c', 'd', 'e', 'f'][2:]     # [2, +∞)
   6 ['c', 'd', 'e', 'f']
   7 >>> ['a', 'b', 'c', 'd', 'e', 'f'][:2]     # [0, 2)
   8 ['a', 'b']
   9 >>> ['a', 'b', 'c', 'd', 'e', 'f'][:]      # [0, +∞)
  10 ['a', 'b', 'c', 'd', 'e', 'f']

Срезы - удобный инструмент, без сомнения.

Как отделить первое слово от предложения

Переключить отображение номеров строк
   1 >>> text = "The quick brown fox jumps over the lazy dog"
   2 >>> text.split(None, 1)
   3 ['The', 'quick brown fox jumps over the lazy dog']

Метод .split() принимает два аргумета, из которых оба необязательные. Первый аргумент задаёт строку, по которой делим. Если первый аргумент отсутствует, то разделение происходит по пробельным символам (одному или нескольким подряд). Пробельные символы - это пробел, таб и переход на новую строку.

Второй аргумет сплита - максималное дозволенное число разбиений. По умолчанию ограничения на число разбиений сняты. Во время работы сплит действует по следующим правилам. Когда ограничение на число разбиений исчерпано, то остаток строки пишется в последний элемент списка-результата. Максимальное число элементов в списке-результате равно максимальному числу разбиений + 1.

Если вместо первого аргумента передается None, что является значением по умолчанию для этого аргумента, то сплит делит по пробелам, как и в случае запуска без аргументов.

См. help(str.split)

Как собрать слова в предложение

Переключить отображение номеров строк
   1 >>> words = ['The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
   2 >>> separator = ' '
   3 >>> separator.join(words)
   4 'The quick brown fox jumps over the lazy dog'

У строки есть метод join, который принимает список строк и возвращает строку, полученную соединением элементов списка, а исходная строка (на которой вызвали метод join) используется как соединитель.