如何在Python中创建空列表?

如果您想学习如何在Python中高效地创建一个空列表,首先我们先来学习如何使用方括号创建空列表[],然后学习如何使用创建空列表list(),在然后学习他们的用例,它们的效率(一个比另一个快!);我们将使用该timeit模块进行比较。

如何在Python中创建空列表?_业界动态_数字化

 使用方括号

您可以使用一对空的方括号创建一个空列表,如下所示:

如何在Python中创建空列表?_业界动态_数字化

提示:我们将空列表分配给变量,以便稍后在程序中使用它。

例如:

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()使用index 调用该方法的该元素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函数,您可以使用以下语法调用该函数:

如何在Python中创建空列表?_业界动态_数字化

提示:该代码重复了几次,以减少由于外部因素(例如在特定时刻可能正在运行的其他进程)而引起的时间差异。这使得结果更加可靠,可用于比较。

marks 在您的标记上...准备好...准备好了!这是代码和输出:

首先,我们导入模块。

>>> 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.00084670000001096920.0020210999999790147

我敢肯定,您现在必须问这个问题:为什么list()效率不如[]做完全相同的事情?

嗯... list()比较慢,因为它需要查找该函数的名称,然后调用它,然后在内存中创建列表对象。相反,[]就像“快捷方式”,不需要太多的中间步骤即可在内存中创建列表。

这种时间差异不会对程序的性能产生很大的影响,但是很高兴知道哪一个效率更高以及它们在后台如何工作。

您可以使用一对空的方括号[]或类型构造函数list()(一个内置函数,当不传递任何参数时创建一个空列表)来创建一个空列表。方括号[]通常在Python中用于创建空列表,因为它更快,更简洁。

通过上述介绍,如何在Python中创建空列表相信大家已经清楚了吧,想了解更多关于Python的信息,请继续关注。

16
82
0
18

相关资讯

  1. 1、吴京票房口碑双扑街?最惨时期他无戏可拍,没成绩不算打击_甄子丹2535
  2. 2、胡东出演《神都龙王》转战大银幕备受期待2682
  3. 3、《冰封》将映黄圣依展甄功夫圆“功夫梦”846
  4. 4、《延禧攻略》皇帝最爱的女人为啥不是富察皇后,不是璎珞而是她?4126
  5. 5、律师爆王宝强将马蓉父母上告法庭,马蓉懒理继续与新男友秀恩爱!90
  6. 6、巡回检察组:证物直接用手拿?张一苇背锅为何郑锐还在笑?1738
  7. 7、《北京青年》浙视热播台词受追捧剧情遭吐槽337
  8. 8、《赘婿》领衔,先婚后爱的戏码成为影视圈新宠,你最喜欢哪一部?2936
  9. 9、古天乐“强压”高圆圆,看他五根手指放的位置,暴露人品4393
  10. 10、传与余咏珊不和,曾志伟倒戈支持ViuTV2180
全部评论(0)
我也有话说
0
收藏
点赞
顶部