列表理解中的筛选子句
作为一个特别有用的扩展,for循环嵌套在理解表达式中 可以有一个关联的if子句来从没有测试的结果项中筛选出来 是的。你知道吗
//This will return the list of all the even numbers in range 100
print [index for index in range(100) if 0 == index%2]
但是我正在考虑添加一个函数的可能性,这个函数可以被调用来评估条件。? 有了这个特性,我就可以在其中添加更复杂的条件。你知道吗
像这样的事
def is_even(x):
return 0 is x%2
print [index +100 for index in range(10) 0 is_even(index)]
是的,你完全可以加上这个。该构造看起来类似于正常的过滤条件
只要函数返回truthy值1,过滤将按预期工作。你知道吗
注意:使用
==
检查两个值是否相等,而不是使用is
运算符。is
操作符用于检查被比较的对象是否相同。你知道吗1引用Python's official documentation
因此,只要函数返回除上面列表中提到的falsy项以外的任何内容,就可以满足条件。你知道吗
除此之外,Python的列表理解语法允许您在其中包含多个
if
子句。例如,假设您想在30之内找到所有的3
的倍数,而不是5
的倍数,您可以这样写它的效果和
相关问题 更多 >
编程相关推荐