Создание пустого списка в Python

Что лучший способ состоит в том, чтобы создать новый пустой список в Python?

l = [] 

или

l = list()

Я спрашиваю это из-за двух причин:

  1. Технические причины, относительно которого быстрее. (создание класса вызывает наверху?)
  2. Удобочитаемость кода - какой является стандартной конвенцией.
228
задан suci 22 March 2017 в 22:27
поделиться

3 ответа

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

% python -mtimeit  "l=[]"
10000000 loops, best of 3: 0.0711 usec per loop

% python -mtimeit  "l=list()"
1000000 loops, best of 3: 0.297 usec per loop

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

Читаемость очень субъективна. Я предпочитаю [], но некоторые очень знающие люди, такие как Алекс Мартелли, предпочитают list () , потому что произносится .

316
ответ дан 23 November 2019 в 03:47
поделиться

Я использую [].

  1. Это быстрее, потому что нотация списка - это короткое замыкание.
  2. Создание списка с элементами должно выглядеть примерно так же, как создание списка без элементов, почему должна быть разница?
15
ответ дан 23 November 2019 в 03:47
поделиться

list () по своей сути медленнее, чем [], потому что

  1. есть поиск по символам (python не может знать заранее, если вы просто не переопределили список, чтобы он стал чем-то другим!),

  2. есть вызов функции,

  3. тогда он должен проверить, был ли передан итеративный аргумент (чтобы он мог создать список с элементами из него) ps. в нашем случае нет, но есть проверка «если»

В большинстве случаев разница в скорости не будет иметь никакого практического значения.

127
ответ дан 23 November 2019 в 03:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: