如何为嵌套函数制作地图?

时间:2019-06-11 16:58:38

标签: python

我的目的是在不使用return的情况下更改列表。因此,我的方法是创建一个辅助函数来修改值,然后将其映射到整个列表。但是,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]的下边界为2,上边界为8。它应返回以下列表:

[2,2,2,3,4,5,6,7,8,8,8]

检查过程就像

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])

1 个答案:

答案 0 :(得分:1)

仅使用根据条件设置元素的列表理解:

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]