items = []
items.append("apple")
items.append("orange")
items.append("banana")
# FAKE METHOD:
items.amount() # Should return 3
Run Code Online (Sandbox Code Playgroud)
如何获取列表中的元素数量?
len()Python内置函数的功能成本是多少?(列表/元组/串/字典)
Python中是否有内置或标准库方法来计算数字列表的算术平均值(一种平均值)?
如何检查numpy数组是否为空?
我使用了以下代码,但如果数组包含零,则会失败.
if not self.Definition.all():
Run Code Online (Sandbox Code Playgroud)
这是解决方案吗?
if self.Definition == array( [] ):
Run Code Online (Sandbox Code Playgroud) 我正在使用的API可以返回空[]列表.
以下条件语句未按预期工作:
if myList is not None: #not working
pass
if myList is not []: #not working
pass
Run Code Online (Sandbox Code Playgroud)
什么会奏效?
在向服务提交查询后,我得到一个字典/列表,我想确保它不是空的.我在Python 2.7上.
我很惊讶我没有看到类实例的任何assertEmpty方法unittest.TestCase.
现有的替代品如:
self.assertTrue(bool(d))
Run Code Online (Sandbox Code Playgroud)
和
self.assertNotEqual(d,{})
Run Code Online (Sandbox Code Playgroud)
和
self.assertGreater(len(d),0)
Run Code Online (Sandbox Code Playgroud)
只是看起来不对劲.
Python unittest框架中是否缺少这种方法?如果是,那么断言迭代不为空的最pythonic方法是什么?
l = range(100)
for i in l:
print i,
print l.pop(0),
print l.pop(0)
Run Code Online (Sandbox Code Playgroud)
上面的python代码给出了与预期完全不同的输出.我想循环遍历项目,以便我可以在循环时跳过项目.
请解释.
当我使用==运算符对空列表进行比较时,PyCharm(4.0.6)会抱怨,但是当我使用is运算符时它不会:

我想这与PEP 8有关,但问题是当我使用is运算符时,正如PyCharm建议的那样,我有一个假阴性.这是iPython shell中的一个简单示例,表明在这种情况下,==运算符似乎更合适,因为is运算符返回错误否定:
In[2]: actions = []
In[3]: actions == []
Out[3]: True
In[4]: actions is []
Out[4]: False
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么PyCharm ==在与空列表进行比较时会抱怨运营商吗?我是否根据PEP 8做错了什么?
Python的禅宗说"明确比隐含更好".然而,用于检查空虚的"pythonic"方法是使用隐含的booleaness:
if not some_sequence:
some_sequence.fill_sequence()
Run Code Online (Sandbox Code Playgroud)
如果some_sequence是空序列,那么这将是真的,但如果它是None或,则为真0.
与理论明确的空洞检查比较:
if some_sequence is Empty:
some_sequence.fill_sequence()
Run Code Online (Sandbox Code Playgroud)
对于一些不利的选择变量名称,检查空虚的隐含booleaness会变得更加混乱:
if saved:
mess_up()
Run Code Online (Sandbox Code Playgroud)
与之比较:
if saved is not Empty:
mess_up()
Run Code Online (Sandbox Code Playgroud)
另请参阅:" Python:检查列表是否为空的最佳方法是什么? ".我觉得具有讽刺意味的是,投票最多的答案声称隐含的是pythonic.
那么为什么没有明确的空洞检查有更高的原因,比如is Empty在Python中?
python ×10
list ×4
algorithm ×1
assertions ×1
average ×1
collections ×1
iterator ×1
loops ×1
math ×1
mean ×1
numpy ×1
pep8 ×1
pycharm ×1
python-2.7 ×1
statistics ×1
unit-testing ×1