小编Eke*_* Mo的帖子

与any()函数相反

Python的内置功能any(iterable)可以帮助快速检查是否有bool(element)True一个迭代的类型.

>>> l = [None, False, 0]
>>> any(l)
False
>>> l = [None, 1, 0]
>>> any(l)
True
Run Code Online (Sandbox Code Playgroud)

但是Python中有一种优雅的方式或功能可以达到相反的效果any(iterable)吗?也就是说,如果有的bool(element) is False话返回True,如下例所示:

>>> l = [True, False, True]
>>> any_false(l)
>>> True
Run Code Online (Sandbox Code Playgroud)

python iterable python-3.x

67
推荐指数
4
解决办法
1万
查看次数

以优雅的方式计算嵌套列表中的元素

我在列表中嵌套了元组

l = [(1, 'a', 'b'), (2, 'b', 'c'), (3, 'e', 'a')]
Run Code Online (Sandbox Code Playgroud)

我想知道列表中有多少'a'和'b'.所以我目前使用以下代码来获得结果.

amount_a_and_b = len([None for _, elem2, elem3 in l if elem2 == 'a' or elem3 == 'b'])
Run Code Online (Sandbox Code Playgroud)

但我得到了amount_a_and_b = 1,那么如何得到正确的答案呢?

此外,是否有更优雅的方式(更少的代码或更高的性能或使用内置)来做到这一点?

python python-3.x

1
推荐指数
1
解决办法
725
查看次数

标签 统计

python ×2

python-3.x ×2

iterable ×1