Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 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) используется как соединитель.