我正在学习python课程,我们正在研究lambda表达式,在尝试传递两个变量时遇到了麻烦。考虑一下:
lis = ['today', 'is', 'a', 'nice', 'day']
print(list(map(lambda x: x.find('i'), lis)))
output:
[-1, 0, -1, 1, -1]
但是,这只会返回-1:
s = 'today is a nice day'
def find_char(sentence, string):
sentence = sentence.split()
return list(map(lambda x, y: print(x), sentence, string))
print(find_char(s, 'i'))
lambda函数仅传递今天的第一个单词,而不传递每个单词。为什么会发生这种情况,如何使用lambda来使函数返回与第一个方法相同的列表?
谢谢。