Python. Последовательности

Продолжаем знакомство с питоном. Сегодня я хочу рассказать про виды последовательностей в этом языке.

В Python есть изменяемые и неизменяемые последовательности. К изменяемым последовательностям относятся строки и кортежи, к изменяемым — списки. Я бы сюда — к последовательностям — отнёс и словари (хэши), но дядя Гвидо решил иначе. Учитывая общую логичность языка, думаю, мы вскоре узнаем, почему он так сделал.

Строки.

Строки можно объединять, повторять и форматировать.

Кроме того, у строк есть свои методы, о которых мы поговорим позже.
Изменить строку, как уже говорилось, нельзя. Кстати, это не единственный язык с таким подходом к строкам. Аналогичное отношение и в Java.

Кортежи.

Кортежи — это константные последовательности. В принципе, это неизменяемые массивы.
Кортеж обычно записывается в круглых скобках (иногда можно без них, но я бы за такие упрощения при необходимости делать отступы внутри блоков вместо использования фигурных скобок дал бы в репу ван Россуму; блоки значит плохо, т.к. делают код нечитабельным, а исключительные ситуации, когда можно упростить синтаксис — это хорошо! ну-ну…).

И все же, упрощения иногда делают код действительно проще и изящнее:

Но в репу бы я таки дал с удовольствием. 🙂

Списки.

Чем хороши списки? Ну, хотя бы тем, что в одном списке можно хранить разнородные объекты. 🙂

Словари.

Иначе — ассоциативные массивы.

One comment

  1. Написал много, но верно.
    Вот для затравки пара полезных дополнений:

    # выбор по ключу из dict'a с дефолтным значением
    test_dict = {'login':'detect', 'pass':'123'}
    login = test_dict.get('login', 'anoymous')

    В твоем примере,

    for key, val in d.items():

    лучше писать

    for key, val in d.iteritems():

    т.к. метод items возвращает копию словаря d, в то время как iteritems возвращает итератор

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.