Pms*_*smm -1 python functional-programming python-3.x
我面临的问题是,给定一个列表和一个保护条件,我必须验证列表中的每个元素是否都通过保护条件。
如果其中一个元素未通过防护检查,则该函数应返回false。如果它们全部通过了防护检查,那么该函数应该返回true。这个问题的限制是我只能使用单个 return 语句。
我的代码:
def todos_lista(lista, guarda):
for x in lista:
return(False if guarda(x)==False else True)
Run Code Online (Sandbox Code Playgroud)
你应该使用全部:
def todos_lista(lista, guarda):
return all(guarda(x) for x in lista)
Run Code Online (Sandbox Code Playgroud)
或者以更实用的方式:
def todos_lista(lista, guarda):
return all(map(guarda, lista))
Run Code Online (Sandbox Code Playgroud)
例如,对于范围 0 到 9 ( range(10)):
>>> all(x < 10 for x in range(10))
True
>>> all(x < 9 for x in range(10))
False
>>> all(map(lambda x: x < 9, range(10)))
False
>>> all(map(lambda x: x < 10, range(10)))
True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |