![]() |
1
4363
利用空名单中的暗含的酒精是相当的蟒蛇。 |
![]() |
2
963
做这件事的方法是从 PEP 8 style guide (何处) 是的 建议的方法和 不 表示不推荐):
|
![]() |
3
587
我更喜欢它:
这样,100%清楚
|
![]() |
4
239
其他人似乎只是泛化了列表之外的问题,所以我想我应该为很多人可能使用的不同类型的序列添加一个警告,特别是因为这是Google第一次点击“python test empty array”。 其他方法不适用于numpy数组
您需要小心使用numpy数组,因为其他方法对
“蟒蛇”的方式不起作用:第一部分
“pythonic”方法在numpy数组中失败,因为numpy试图将数组强制转换为
“蟒蛇”的方式不起作用:第2部分
但至少上面的情况告诉你它失败了。如果恰好有一个numpy数组中只有一个元素,
但是很清楚
使用
|
![]() |
5
119
在真值测试中,空列表本身被认为是错误的(请参见 python documentation ):
@ Daren Thomas
您的DuckCollection应该实现
|
![]() |
6
117
简短回答:
将列表放置在布尔上下文中(例如,使用
向当局上诉PEP 8 在python标准库中,python代码的官方python样式指南断言:
我们应该期望标准库代码尽可能地具有良好的性能和正确性。但是为什么会这样,为什么我们需要这个指导呢? 解释我经常看到类似这样的代码,这些代码来自于刚接触Python的经验丰富的程序员:
而使用懒惰语言的用户可能会想这样做:
它们在各自的其他语言中是正确的。这在Python中甚至在语义上是正确的。 但是我们认为它不是pythonic,因为python通过布尔强制直接在列表对象的接口中支持这些语义。
从
docs
(并特别注意空名单的列入,
以及数据模型文档:
和
因此,不要这样:
或者:
这样做:
做什么样的蟒蛇通常会在表演中得到回报:结果如何?(请注意,执行等效操作的时间越短越好:)
对于scale,这里是调用函数并构造和返回空列表的成本,您可以从上面使用的空性检查的成本中减去:
我们看到了
任何一个
使用内置函数检查长度
为什么?
对于
首先,python必须检查全局参数以查看
然后它必须调用函数,加载
为了
“pythonic”方法是一种更简单和更快的检查,因为列表的长度缓存在对象实例头中:
C来源的证据和文件
从C源输入 Include/listobject.h :
我很喜欢研究这个问题,我花了很多时间整理我的答案。如果你认为我遗漏了什么,请在评论中告诉我。 |
![]() |
7
88
Patrick's (accepted) answer
是正确的:
python代码和python社区有非常强的习惯用法。遵循这些习语可以让您的代码更容易被任何在Python中有经验的人阅读。当你违反了这些习语,这是一个强烈的信号。
是真的
但是当你没有任何明确的事情,除了
|
![]() |
8
68
我已将以下内容视为首选:
|
![]() |
9
60
为什么要检查?似乎没人问过你 需要 首先测试列表。因为您没有提供额外的上下文,所以我可以想象,您可能首先不需要执行这种检查,但是不熟悉Python中的列表处理。 我认为 大多数蟒蛇 方法是根本不检查,而只是处理列表。这样,无论是空的还是满的,它都会做正确的事情。
这有利于处理 一 ,而不需要对空性进行特定检查。如果 一 为空,依赖块将不执行,解释器将进入下一行。 如果您确实需要检查数组是否为空,那么其他答案就足够了。 |
![]() |
10
55
JavaScript has a similar notion of truthy/falsy . |
![]() |
11
33
我曾写过:
投票结果是-1。我不确定这是否是因为读者反对这一策略,或是因为他们认为这个答案在本文中没有帮助。我会假装是后者,因为——不管什么叫做“蟒蛇”——这是正确的策略。除非你已经排除了,或者准备好处理那些
第一个测试是对上面@mike的答案的响应。第三行也可以替换为:
如果只想接受特定类型的实例(及其子类型),或者使用:
您可以在不进行显式类型检查的情况下离开,但前提是周围的上下文已经确保
|
![]() |
12
29
巨蟒对空虚的处理非常统一。鉴于以下情况:
您只需检查带有“if”语句的列表A,看看它是否为空。根据我所读和所教的内容,这是一种“蟒蛇式”的方式来查看列表或元组是否是空的。 |
![]() |
13
25
从 documentation 关于真值测试:
除此处列出的值以外的所有值都将被视为
可以看到,空列表
|
![]() |
14
25
我使用的一些方法:
|
![]() |
15
19
以下是检查列表是否为空的几种方法:
1) 非常简单的蟒蛇方式:
在蟒蛇中,
空容器
例如列表、元组、集合、dict、变量等被视为
2)
一种非常明确的方法:使用
3) 或者将其与匿名空列表进行比较:
4)
另一个
愚蠢的
方法是使用
|
![]() |
16
11
我更喜欢以下内容:
|
![]() |
17
7
有时候测试是很好的
尽管这不值得
预期产量
|
![]() |
18
3
另一个简单的方法是
|
![]() |
19
3
从python3起,您可以使用
检查列表是否为空 编辑:这也适用于python2.7。 我不知道为什么会有这么多复杂的答案。 很清楚很简单 |
![]() |
20
3
如果 数组的长度为零 那就是 空的 . 尝试以下操作:
|
![]() |
21
2
在@dubiousjim的解决方案的启发下,我建议使用一个额外的常规检查,以确定它是否是不可行的。
注意:字符串被认为是不可重设的。-添加
测试:
|
![]() |
22
2
已经给出了很多答案,其中很多都很好。我只是想加上那张支票
也会通过
|
![]() |
23
2
我们可以使用简单的if-else:
|
![]() |
24
1
您甚至可以尝试这样使用bool()。
我喜欢这种方式,因为检查清单是空的还是不空的。 非常方便和有用。 |
![]() |
25
1
简单的方法是检查长度是否等于零。
|
![]() |
26
1
更实用一点:
|
![]() |
27
1
检查是否:
|
![]() |
28
1
方法1(首选):
方法2:
方法3:
|
![]() |
29
0
只需使用is_empty()或使函数如下:
它可以用于任何数据结构,如列表、元组、字典等等。通过这些,您可以使用
|
![]() |
30
0
如果要检查列表是否为空;
如果要检查是否所有列表中的值都为空。
但是,对于空列表,这是正确的。
现在您可以使用:
|