Использование find в лямбде с передачей двух переменных

Я изучаю курс Python, мы работаем над лямбда-выражениями, и я застрял при попытке передать две переменные. Учти это:

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'))

Лямбда-функция передает только первое слово сегодня, а не каждое слово. Почему это происходит и как я могу заставить функцию возвращать тот же список, что и первый метод с использованием лямбда?

Спасибо.

Когда вы передаете map несколько итераций, каждая итерация повторяется и передается функции до тех пор, пока не будет исчерпана самая короткая из них. В вашем случае вторая итерация (string) имеет длину всего 1 символ. Таким образом, функции будет передано только первое значение из каждой итерации.

mypetlion 11.12.2018 23:05

Понятно, я добавил строку * = len (предложение), и она работает как положено. Спасибо за помощь.

mks212 11.12.2018 23:10
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
26
0

Другие вопросы по теме