使用列表上的函数

Sam*_*yHD 2 python function list

我有一个函数来确定数字是否小于0或者根本没有数字

def numberfunction(s) :
    if s == "":
        return 0
    if s < 0 :
        return -1
    if s > 0:
        return s
Run Code Online (Sandbox Code Playgroud)

我还有一份清单清单

numbers = [[]]
Run Code Online (Sandbox Code Playgroud)

现在,让我说我用以下数字填充列表列表:

[[1,2,3,4],[1,1,1,1],[2,2,2,2] ..etc ]
Run Code Online (Sandbox Code Playgroud)

我将如何调用上面列出的数字中的函数?

我是否需要一个循环,我在每个列表的每个数字上使用该函数,还是比它更简单?

Ffi*_*ydd 6

您可以使用map和列表理解你的功能适用于所有的元素.请注意,我已修改您的示例列表以显示所有返回案例.

def numberfunction(s) :
    if s == "":
        return 0
    if s < 0 :
        return -1
    if s > 0:
        return s

# Define some example input data.
a = [[1,2,3,""],[-1,1,-1,1],[0,-2,-2,2]]

# Apply your function to each element.
b = [map(numberfunction, i) for i in a]

print(b)
# [[1, 2, 3, 0], [-1, 1, -1, 1], [None, -1, -1, 2]]
Run Code Online (Sandbox Code Playgroud)

请注意,根据您当前的numberfunction工作方式,它将返回None一个等于零的元素(感谢@thefourtheye指出这一点).