在lambda中使用find传递两个变量

时间:2018-12-11 21:50:17

标签: python-3.x lambda

我正在学习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来使函数返回与第一个方法相同的列表?

谢谢。

0 个答案:

没有答案