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