Водич за празну листу Питхона - Како створити празну листу у Питхону

Ако желите да научите како ефикасно да направите празну листу у Питхону, онда је овај чланак за вас.

Научићеш:

  • Како створити празну листу помоћу угластих заграда [].
  • Како направити празну листу помоћу 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

С обзиром да је листа била празна, тако да је вредност Фалсе.

У глобалу:

  • Ако листа није празна, она процењује на True, па се извршава клаузула иф.
  • Ако је листа празна, израчунава вредност False, па се извршава клаузула елсе.

Пример:

У примеру испод, креирамо празну листу и додељујемо је променљивој num. Затим, користећи петљу фор, на листу која је у почетку била празна додамо низ елемената (цели бројеви):

>>> 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(), створиће се празна листа.

На пример:

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()за креирање листа од постојећих итерабла као што су низови, речници или корице.
  • Често ћете видети да се углате заграде []користе за стварање празних листа у Питхону, јер је ова синтакса сажетија и бржа.

? ефикасност

Чекати! Управо сам ти рекао да []је брже од list()...

Али колико брже?

Проверимо њихову временску ефикасност помоћу модула тимеит .

Да бисте користили овај модул у свом програму Питхон, морате га увести:

>>> import 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(), уграђену функцију која ствара празну листу када се не проследе аргументи.

Углате заграде []се обично користе у Питхону за стварање празних листа, јер је брже и сажетије.

Заиста се надам да вам се свидео мој чланак и да вам је помогао. Сада можете да креирате празне листе у својим Питхон пројектима. Погледајте моје онлајн курсеве. Запрати ме на твитеру. ⭐

Ако желите дубље заронити у листе, можда ћете желети да прочитате:

  • Додатак листе Питхон - Како додати елемент у низ, објашњено примерима
  • Метода низа сортирања листе Питхон - узлазно и силазно објашњено примерима
  • Питхон Лист Додати ВС Питхон Лист Ектенд - Разлика објашњена примерима метода низа