Python-рецепты. Массивы.


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

При написании так называемых python-рецептов, я предполагаю, что читатель имеет представление о программировании. Постараюсь заострять внимание  на типичных вопросах, которые обычно возникают у начинающих. То есть будут разобраны примеры скриптов на следующие темы: массивы, работа со строками и файлами, работа с интернетом и написание собственных функций и модулей, а так же построение графиков и диаграмм. Данные статьи будут больше позиционироваться как справочный материал (читай шпаргалка) . Собственно это даже не статьи. Это подробно документированные куски кода.

Сегодня мы узнаем о том, как работать с массивами.

# сборник рецептов на python (массивы)

# создаем пустой массив
a = []

# различными способами добавляем к нему три элемента: 5, 6 и 7
a.append(5)
a = a + [6]
a += [7]

# создаем массив из трех элементов
b = [1, 2, 3]

# объединяем массивы a и b
c = a + b   # теперь массив c выглядит так: [5, 6, 7, 1, 2, 3]
c = b + a   # а теперь так: [1, 2, 3, 5, 6, 7]

# выведет 6 - четвертый эелемент массива (нумерация начинается с нуля)
print c[4]

# выведет последний и предпоследний элементы массива
print c[-1], c[-2]

# выведет все элементы массива кроме первых двух
print c[2:]

# выведет последние два элемента массива
print c[-2:]

# выведет первые два элемента
print c[:2]

# выведет все элементы кроме последних двух
print c[:-2]

# выведет весь массив кроме первых двух и последних трех элементов
print c[2:-3]

# выведет количество элементов в массиве
print len(c)

, ,



  1. #1 by Lord_of_fear on 28 Июнь 2010 - 7:47

    Полезная инфа. :) Может объединить с предыдущей заметкой? Получится небольшая статья. Можно разместить в нашем июньском номере. Мы как раз заняты подбором материала. :)

  2. #4 by Кос on 1 Август 2010 - 20:54

    Сделай подсветку кода покрасивше и текст крупнее.

    • #5 by toly on 1 Август 2010 - 21:06

      Справа над строкой поиска регулятор размера шрифта.

      А подсветка меня самого не устраивает, скоро поменяю.

  3. #6 by chara on 14 Декабрь 2011 - 22:00

    вообще говоря, это список (list), а массив – array в модуле numpy, вроде бы достаточно сильно отличается… Не вводите новичков в заблуждение, они потом ими (заблуждениями) делятся»

    • #7 by toly on 15 Декабрь 2011 - 10:37

      Согласно википедии: массив — упорядоченный набор данных, для хранения данных одного типа, идентифицируемых с помощью одного или нескольких индексов.

      А теперь вопрос: можно ли список в питоне «обозвать» массивом? Я считаю что можно.

      • #8 by Herrenvolk on 4 Август 2012 - 21:47

        >Я считаю что можно
        Ваша фамилия Кнут? Или может Кормен? А вожет вообще Карри? Какая к черту разница что вы там себе «считаете».
        Список от массива отличается тем, что каждый его элемент хранит ссылку на следующий за ним. Благодаря этому существует возможность «воткнуть» произвольный элемент в любое место списка, чего с массивом сделать нельзя.

  4. #9 by Alkos on 21 Февраль 2012 - 22:22

    Понимаю, что много времени прошло, но все же. Хотелось бы увидеть аналогичную статью по словарям.

  5. #10 by mindinpanic on 16 Июль 2012 - 12:44

    Ну тогда и tuple – массив… Список и массив – это разные структуры данных, в питоне есть пакет array

  6. #11 by dzutaro on 18 Декабрь 2012 - 2:03

    Все-таки, строго говоря, в статье речь идет именно о списках (list), а не о массивах. Список (list) является встроенным типом, наряду с такими типами как кортеж (tuple), словарь (dict) и множество (set). Массив же встроенным типом не является и предоставляется через сторонние подключаемые библиотеки. С другой стороны, можно работать с переменными типа list, tuple, dict или set как с массивами, но нужно понимать специфику каждого из этих типов.

    Кстати, всем желающим изучить основы Python’а очень рекомендую пройти курс https://www.coursera.org/course/interactivepython.
    Курс преподают 3 профессора университета RICE.
    Формат курса: видео-лекции, тесты (выбор правильного ответа) и написание небольших программ.
    Курс бесплатный; ведется на простом английском языке (можно включить английские субтитры). Материал воспринимается очень легко, особенно если вы знакомы хотя бы с одним из языков программирования.
    И вообще, рекомендую сайт coursera.org, т.к. на нем преподаются курсы по различным тематикам (в основном техническим), преподаватели – профессора известных университетов. Все курсы бесплатны.

(никто не узнает)