首页 > 解决方案 > 在 lambda 中使用 find 传递两个变量

问题描述

我正在学习关于 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 的第一个方法相同的列表?

谢谢你。

标签: python-3.xlambda

解决方案


推荐阅读