Найти - Пользователи
Полная версия: вопрос о lambda
Начало » Python для новичков » вопрос о lambda
1
kzoi_py
Доброго времени суток всем питонерам. По сабжу не эксперт по тому и спрашиваю. Есть 2 списка. Мне нужно получить массив ответов - есть ли конкретный элемент в другом списке. Пишу следующее
dl = [1,3,4,5,6,7,8,9]
z = map(lambda x,p: (x[i] in p ) for i in range(0, len(x)), [6,7,8],dl )
И не помогает ((( подскажите в чем проблема. За ранее спасибо
knkd
dl = [1,3,4,5,6,7,8,9]
z = map(lambda x: (x, x in dl), [6,7,8,15])
print z
[(6, True), (7, True), (8, True), (15, False)]
Наверное так будет понятнее.
dl = [1,3,4,5,6,7,8,9]
z = [(x, x in dl) for x in [6,7,8,15]]
print z
[(6, True), (7, True), (8, True), (15, False)]
Ferroman
>>> [x in [6,7,8]  for x in dl]
[False, False, False, False, True, True, True, False]
>>> [(x, x in [6,7,8]) for x in dl]
[(1, False), (3, False), (4, False), (5, False), (6, True), (7, True), (8, True), (9, False)]
Ed
Если не специалист, то зачем такие ужасные конструкции используете. да еще и с ошибками.
Питон - очень выразительный и простой язык, на нем можно писать почти в терминах задачи.
Смотрите:
Есть 2 списка:
first =
second =
Нужно сформировать результат-список:
result =
В котором будут ответы есть ли элемент второго списка в первом.
Переберем элементы второго списка:
for elem in second:
Проверим есть ли элемент в first и добавим ответ в результат:
result.append(elem in first)
Выведем результат:
print result.
kzoi_py
спасибо за ответы. просто задумался как такую задачу решить с помощью функционального программирования. учиться то надо ))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB