Урок за празен списък на 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 - Разликата, обяснена с примери за метод на масив