Как работают массивы и списки в Python

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

Предпосылки

Не так много нужно знать заранее, чтобы выучить эти понятия. Базовые знания парадигм программирования и Python будут полезны, но это не обязательно. Прочитайте наши основные примеры Python

если вы не знаете с чего начать. Если вы думаете, что Python — бесполезный язык, выясните наши причины, по которым он не

,

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

).

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

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

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

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

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

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

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

массив

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

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

from array import array
numbers = array('i', [2, 4, 6, 8])
print numbers[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

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

print numbers

Python Arrays

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

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

for number in numbers:
print number

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

for i in range(len(numbers)):
print numbers[i]

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

Списки

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

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

cars = ['Ford', 'Austin', 'Lancia']

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

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

print cars

Python Arrays

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

for car in cars:
print car

Python Arrays

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

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

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

Python Arrays

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

cars = ['Ford', 'Austin']
print cars
cars.append('Lancia')
print cars

Python Arrays

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

cars = ['Ford', 'Austin']
print cars
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print cars

Python Arrays

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

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print cars
cars.remove('Ford')
print cars

Python Arrays

Это касается основ списков и массивов в Python. Почему бы не рассмотреть проект кодирования, такой как чтение и запись в Google Sheets

, чтение данных JSON

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

, Несмотря на то, что это другой язык программирования, эти принципы массивов все еще применяются.

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

Ссылка на основную публикацию
Adblock
detector