为什么 lambda 在处理序列时不能正常工作?

Why doesn't lambda work properly when dealing with a sequence?

当我尝试从 Lambda 中 return 一个由 2 个字符组成的元组时,Lambda 似乎不起作用,每个字符都是其列表的 min() 。不过,普通函数似乎可以正常工作,所以这是使用 lambda 的限制,还是我遗漏了一些愚蠢的东西?使用 list() 或 tuple() returns 一个错误。

import random

randnums = [random.randrange(2, num+3) for num in range(10)]

data = list(range(10))

def get_min(x,y):
    return (min(x), min(y))

print(get_min(data, randnums))

print(list(map(lambda x,y: (min(x), min(y)), data, randnums)))

只需调用函数!

(lambda x,y: (min(x), min(y)))(data, randnums)

这与您调用 get_min(data, randnums) 的方式完全相同。函数、左括号、参数、右括号,但使用 (lambda x,y: (min(x), min(y))) 作为函数而不是 get_min.