Python 如何为嵌套函数生成映射?

Python 如何为嵌套函数生成映射?,python,Python,我的意图是在不使用return的情况下修改列表。因此,我的方法是创建一个helperfunction来修改该值,然后将其映射到整个列表。但是,map只使用一个函数和一个字符串。所以我被卡住了。对不起,有任何不协调或误解 我有一个列表和两个边界,其中下边界将替换列表中它下面的任何数字,而上边界也替换列表中它上面的数字 def help(values,lower,upper): def abc(value): if value <= 100:

我的意图是在不使用return的情况下修改列表。因此,我的方法是创建一个helperfunction来修改该值,然后将其映射到整个列表。但是,map只使用一个函数和一个字符串。所以我被卡住了。对不起,有任何不协调或误解

我有一个列表和两个边界,其中下边界将替换列表中它下面的任何数字,而上边界也替换列表中它上面的数字

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]