Учебное пособие по пустому списку Python - Как создать пустой список в Python

Если вы хотите узнать, как эффективно создать пустой список в Python, эта статья для вас.

Ты выучишь:

  • Как создать пустой список с помощью квадратных скобок [].
  • Как создать пустой список с помощью list().
  • Их варианты использования.
  • Насколько они эффективны (один быстрее другого!). Мы будем использовать timeitмодуль для их сравнения.

Давайте начнем! ✨

🔹 Использование квадратных скобок

Вы можете создать пустой список с пустой парой квадратных скобок, например:  

💡 Совет: мы назначаем пустой список переменной, чтобы использовать его позже в нашей программе.

Например:

num = []

Пустой список будет иметь длину 0, как вы можете видеть прямо здесь:

>>> num = [] >>> len(num) 0

Пустые списки - это ложные значения, что означает, что они оцениваются Falseв логическом контексте:

>>> num = [] >>> bool(num) False

Добавить элементы в пустой список

Вы можете добавлять элементы в пустой список с помощью методов append()и insert():

  • append() добавляет элемент в конец списка.
  • insert() добавляет элемент по конкретному индексу выбранного вами списка.

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

if num: print("This list is not empty") else: print("This list is empty")

Вывод этого кода:

This list is empty

Поскольку список был пуст, он оценивается как False.

В общем:

  • Если список не пустой, он оценивается как значение True, поэтому выполняется предложение if.
  • Если список пуст, он оценивается как значение False, поэтому выполняется предложение else.

Пример:

В приведенном ниже примере мы создаем пустой список и назначаем его переменной num. Затем, используя цикл for, мы добавляем последовательность элементов (целых чисел) в список, который изначально был пуст:

>>> num = [] >>> for i in range(3, 15, 2): num.append(i)

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

>>> num [3, 5, 7, 9, 11, 13]

💡 Совет: обычно мы append()добавляем первый элемент в пустой список, но вы также можете добавить этот элемент, вызывая insert()метод с индексом 0:

>>> num = [] >>> num.insert(0, 1.5) # add the float 1.5 at index 0 >>> num [1.5]

🔸 Использование конструктора list ()

В качестве альтернативы вы можете создать пустой список с помощью конструктора типа list(), который создает новый объект списка.

Согласно документации Python:

Если аргумент не указан, конструктор создает новый пустой список [].

💡 Совет: это создает новый объект списка в памяти, и, поскольку мы не передали никаких аргументов list(), будет создан пустой список.

Например:

num = list()

Этот пустой список будет иметь длину 0, как вы можете видеть прямо здесь:

>>> num = list() >>> len(num) 0

И это ложное значение, когда оно пусто (оно оценивается Falseв логическом контексте):

>>> num = list() >>> bool(num) False

Пример:

Это полностью функциональный список, поэтому мы можем добавлять в него элементы:

>>> num = list() >>> for i in range(3, 15, 2): num.append(i)

И результатом будет непустой список, как вы можете видеть прямо здесь:

>>> num [3, 5, 7, 9, 11, 13]

🔹 Примеры использования

  • Обычно мы используем list()для создания списков из существующих итераций, таких как строки, словари или кортежи.
  • Обычно квадратные скобки []используются для создания пустых списков в Python, потому что этот синтаксис более краткий и быстрый.

🔸 Эффективность

Подождите! Я только что сказал тебе, что []это быстрее, чем list()...

Но насколько быстрее?

Давайте проверим их эффективность использования времени с помощью модуля timeit .

Чтобы использовать этот модуль в своей программе Python, вам необходимо импортировать его:

>>> import timeit

В частности, мы будем использовать функцию timeit из этого модуля, которую вы можете вызвать с помощью этого синтаксиса:

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

🚦 По твоим следам ... готовься ... готово! Вот код и вывод:

Сначала мы импортируем модуль.

>>> import timeit

Затем мы начинаем тестировать каждый синтаксис.

Тестирование []:

>>> timeit.timeit('[]', number=10**4) 0.0008467000000109692

Тестирование list():

>>> timeit.timeit('list()', number=10**4) 0.002867799999989984

💡 Совет: обратите внимание, что код, который вы хотите отсортировать , должен быть заключен в одинарные ''или двойные кавычки "". Время, возвращаемое timeitфункцией, выражается в секундах.

Сравните эти результаты:

  • []: 0.0008467000000109692
  • list(): 0.002867799999989984

Вы можете видеть, что []это намного быстрее, чем list(). В 0.002этом тесте разница составляла примерно секунды:

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

Я уверен, что вы, должно быть, спросите прямо сейчас: почему это list()менее эффективно, чем []если бы они делали то же самое?

Ну ... list()работает медленнее, потому что требует поиска имени функции, ее вызова, а затем создания объекта списка в памяти. Напротив, []это похоже на «ярлык», который не требует большого количества промежуточных шагов для создания списка в памяти.

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

🔹 Вкратце

Вы можете создать пустой список, используя пустую пару квадратных скобок []или конструктор типа list(), встроенную функцию, которая создает пустой список, когда аргументы не переданы.

Квадратные скобки []обычно используются в Python для создания пустых списков, потому что это быстрее и лаконичнее.

Я очень надеюсь, что вам понравилась моя статья и вы нашли ее полезной. Теперь вы можете создавать пустые списки в своих проектах Python. Посмотрите мои онлайн-курсы. Подпишись на меня в Твиттере. ⭐️

Если вы хотите глубже погрузиться в списки, вы можете прочитать:

  • Добавление списка Python - Как добавить элемент в массив, объясняя с примерами
  • Метод массива списка сортировки Python - по возрастанию и убыванию с примерами
  • Python List Append VS Python List Extend - разница, объясненная на примерах метода массива