Рекламное объявление

Массивы и списки являются одними из наиболее полезных структур данных в программировании, хотя немногие действительно используют их в полной мере. Сегодня я расскажу вам основы, а также несколько простых примеров Python.

Предпосылки

Не так много нужно знать заранее, чтобы выучить эти понятия. Базовые знания парадигм программирования и Python будут полезны, но это не обязательно. Читайте наш основные примеры Python 10 основных примеров Python, которые помогут вам быстро освоитьсяЭта статья с основными примерами Python предназначена для тех, кто уже имеет некоторый опыт программирования и просто хочет как можно быстрее перейти на Python. Подробнее если вы не знаете с чего начать. Если вы считаете Python бесполезным языком, ознакомьтесь с нашими причины, по которым это не 5 причин, почему программирование на Python не бесполезноPython - Вы или любите это или ненавидите это. Вы можете даже качаться с одного конца до другого, как маятник. Несмотря на это, Python - это язык, с которым трудно быть двойственным. Подробнее .

instagram viewer

Хотя следующие фундаментальные идеи могут быть применены к любому языку, я покажу примеры на Python. Это простой язык для изучения и отличная платформа для понимания происходящего. В добавок к этому, tutorialspoint.com предоставляет отличный онлайн переводчик Python - вам даже не нужно устанавливать Python, если вы этого не хотите (если вы это сделаете, проверьте наш гид по виртуальным средам Узнайте, как использовать виртуальную среду PythonНезависимо от того, являетесь ли вы опытным разработчиком Python или только начинаете, изучение настройки виртуальной среды крайне важно для любого проекта Python. Подробнее ).

Структуры данных

Что такое структура данных? На самом базовом уровне структура данных - это способ эффективного хранения данных. Легко запутаться, потому что структуры данных не типы данных. Типы данных сообщают компилятору (или, в случае Python, интерпретатору), как эти данные предназначены для использования. Структуры данных определяют операции, которые могут быть выполнены, и часто реализуют определенные правила и положения.

Возможно, вы слышали о некоторых линейный типы данных (элементы последовательны):

  • массив
  • матрица
  • Справочная таблица

По аналогии, списки часто содержат правила и методы, регулирующие их работу. Некоторые общие списки:

  • Связанный список
  • Двусвязный список
  • Список Массива или Динамический Массив

Существует множество различных структур данных. Возможно, вы слышали о бинарные деревья, диаграммы, или же хэши. Я буду обсуждать основы сегодня, но, возможно, вы захотите узнать больше, когда вам будет удобно.

массив

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

Python несколько усложняет ситуацию. Это облегчает вам задачу, но не всегда придерживается строгих определений структур данных. Большинство объектов в Python обычно являются списками, поэтому создание массива на самом деле более трудоемко. Вот некоторый стартовый код:

из массива импорта массива. числа = массив ('i', [2, 4, 6, 8]) печатать номера [0]

Первая строка импортирует массив модуль - это необходимо для работы с массивами. Вторая строка создает новый массив с именем чисел и инициализирует его значениями 2, 4, 6 и 8. Каждому элементу присваивается целое число значение называется ключ или же показатель. Ключи начинаются с нуль, так числа [0] получит доступ к первому элементу (2):

Python Arrays

Вам может быть интересно, что 'я' используется для. Это TypeCode это говорит Python, что массив будет хранить целые числа. Подобного рода вещи обычно не нужны в Python (это будет считаться «непифоническим»). Причина этого проста. Массивы в Python являются очень тонкой оболочкой для базовых массивов C вашей операционной системы. Это означает, что они быстрые и стабильные, но они не всегда придерживаются синтаксиса Python.

Вы не можете хранить смешанные типы в этих массивах. Скажем, вы хотите сохранить строку «makeuseof.com»:

numbers = array ('i', [2, 4, 6, "makeuseof.com"])

Это не будет разрешено и вызовет исключение:

Python Arrays

Вот как вы можете распечатать все элементы:

печатать номера
Python Arrays

Этот метод доступа к элементам массива работает хорошо, и он идеально подходит для правильной задачи. То, для чего это не хорошо, - доступ ко всему массиву. Программисты по своей природе ленивы, поэтому я с радостью напишу больше, более качественный код, если это означает, что я могу упростить обслуживание и сократить усилия по копированию и вставке.

Каждый язык программирования реализует какой-то цикл, который идеально подходит для итерации (зацикливания) элементов списка. Наиболее распространенные петли пока и для. Python делает вещи еще проще, предоставляя для в цикл:

для числа в числах: напечатать номер

Обратите внимание, что вам не нужно было обращаться к элементам по их ключу. Это гораздо лучший способ работы с массивом. Альтернативный способ перебора списка заключается в для цикл:

для i в диапазоне (len (числа)): печатать числа [i]

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

Списки

Теперь, когда вы знаете, как работают массивы, давайте посмотрим на список. Иногда это может сбивать с толку, поскольку люди используют разные термины взаимозаменяемо и списки находятся массивы... вроде.

Список - это особый тип массива. Самая большая разница в том, что списки могут содержать смешанный типы (помните, что массивы должны содержать элементы одного типа). Списки очень просты в Python:

автомобили = ['Ford', 'Остин', 'Lancia']

Обратите внимание, что вам не нужно импортировать массив модуль?

Этот синтаксис объявляет список автомобилей. Внутри квадратных скобок объявляется каждый элемент списка. Каждый элемент отделяется запятой, и, поскольку каждый элемент является строкой, вы объявляете их в кавычках. Python знает, что это объект, поэтому Распечатать Оператор выведет содержимое списка:

печатные машины
Python Arrays

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

для автомобилей в автомобилях: печатная машина
Python Arrays

Настоящая партийная хитрость списков - их смешанный тип. Продолжайте и добавьте некоторые дополнительные данные:

автомобили = ['Ford', 'Остин', 'Lancia', 1, 0,56]

Это не проблема для Python - он даже не поднял исключение:

Python Arrays

Добавить новые элементы в список легко (что невозможно с массивами):

автомобили = ['Ford', 'Остин'] печатать автомобили. cars.append ( 'Лянча') печатные машины
Python Arrays

Вы также можете объединить два списка в один:

автомобили = ['Ford', 'Остин'] печатать автомобили. other_cars = ['Lotus', 'Lancia'] cars.extend (other_cars) печатные машины
Python Arrays

Так же легко удалить элементы, используя Удалить синтаксис:

автомобили = ['Ford', 'Остин', 'Lotus', 'Lancia'] печатать автомобили. cars.remove ( 'Форд') печатные машины
Python Arrays

Это касается основ списков и массивов в Python. Почему бы не рассмотреть проект кодирования, такой как чтение и запись в Google Sheets Как читать и писать в Google Sheets с PythonPython может показаться странным и необычным, однако его легко изучить и использовать. В этой статье я покажу вам, как читать и писать в Google Sheets с использованием Python. Подробнее , чтение данных JSON Как получить Python и JavaScript для общения с помощью JSONСегодня я покажу вам, как использовать JSON для отправки данных из JavaScript в Python. Я расскажу, как настроить веб-сервер вместе со всем необходимым кодом. Подробнее . Может быть, вы могли бы применить свои новые навыки, чтобы сделать некоторые пользовательские кнопки быстрого доступа Сделайте свои собственные кнопки быстрого доступа с ArduinoСкромный Arduino может делать много вещей, но знаете ли вы, что он может эмулировать USB-клавиатуру? Вы можете объединить длинные сочетания клавиш в одну настраиваемую комбинацию клавиш с помощью этой простой схемы. Подробнее . Несмотря на то, что это другой язык программирования, эти принципы массивов все еще применяются.

Вы узнали что-нибудь новое? Хотите увидеть более сложный контент? Дайте нам знать ваши мысли в комментариях ниже!

Джо - выпускник факультета компьютерных наук Университета Линкольна, Великобритания. Он профессиональный разработчик программного обеспечения, и когда он не летает на дронах и не пишет музыку, его часто можно встретить, фотографируя или снимая видео.