1
我在为我的作业构建过滤函数。设计滤波器函数的谓词
def filter(pred, seq):
if seq ==():
return()
elif pred(seq[0]):
return (seq[0],) filter(pred, seq[1:])
else:
return filter(pred, seq[1:])
我们应该是一个给函数转换为一个仅具有一个使用所设计的滤波器功能(这将覆盖更强大的Python版本)回线。
,我们应该要转换的代码是这样的:
def lookup_bus_stop_by_road(stops, road):
matched =()
for bus_stop in stops:
if get_road_name(bus_stop) == road:
matched = matched + (bus_stop,)
return matched
我的问题是:我应该如何通过从给定的lookup_bus_Stop_by_road功能适应谓词转化为我的过滤功能?但我总是得到TypeError:bool对象不可调用。
这回油管路我已经把:
def lookup_bus_stop_by_road(stops, road):
return filter(get_road_name(bus_stops) == road, stops)
这里有什么问题?
好吧,谢谢你了!最初我使用了像lambda x:road == x [1]。你提出的想法阻止了我打破抽象 – soignecf