Python 如何为嵌套函数生成映射?
我的意图是在不使用return的情况下修改列表。因此,我的方法是创建一个helperfunction来修改该值,然后将其映射到整个列表。但是,map只使用一个函数和一个字符串。所以我被卡住了。对不起,有任何不协调或误解 我有一个列表和两个边界,其中下边界将替换列表中它下面的任何数字,而上边界也替换列表中它上面的数字Python 如何为嵌套函数生成映射?,python,Python,我的意图是在不使用return的情况下修改列表。因此,我的方法是创建一个helperfunction来修改该值,然后将其映射到整个列表。但是,map只使用一个函数和一个字符串。所以我被卡住了。对不起,有任何不协调或误解 我有一个列表和两个边界,其中下边界将替换列表中它下面的任何数字,而上边界也替换列表中它上面的数字 def help(values,lower,upper): def abc(value): if value <= 100:
def help(values,lower,upper):
def abc(value):
if value <= 100:
value = 100
elif value >= 0:
value = 0
else:
value
list(map (abc, values))
检查的过程如下
A=[0,1,2,3,4,5,6,7,8,9,10]
check.expect("Function",help(A,2,8),None)
check.expect("List",help(A,2,8)[2,2,2,3,4,5,6,7,8,8,8])
仅使用基于条件设置元素的列表理解:
def rreplace(lst, l, u):
return [l if x < l else u if x > u else x for x in lst]
A = [0,1,2,3,4,5,6,7,8,9,10]
print(rreplace(A, 2, 8))
# [2, 2, 2, 3, 4, 5, 6, 7, 8, 8, 8]
def-rreplace(lst、l、u):
返回[l if xu else x代表lst中的x]
A=[0,1,2,3,4,5,6,7,8,9,10]
打印(替换(A、2、8))
# [2, 2, 2, 3, 4, 5, 6, 7, 8, 8, 8]
首先,您的帮助
函数不返回任何内容,因此它将隐式返回无
。类似地,help
中的abc
函数不返回任何内容,因此它将返回None
。首先,为什么abc
在help
中?请显示对help()
的实际调用,而不是用文字描述它。还要注意,您从不在任何地方使用lower
或upper
。
def rreplace(lst, l, u):
return [l if x < l else u if x > u else x for x in lst]
A = [0,1,2,3,4,5,6,7,8,9,10]
print(rreplace(A, 2, 8))
# [2, 2, 2, 3, 4, 5, 6, 7, 8, 8, 8]