Найти - Пользователи
Полная версия: lambda
Начало » Python для новичков » lambda
1 2
GreyZmeem
d3z0x77+rsmqbc
map(method, iterable) - применяет method на каждый объект из iterable и возращает новый список, который состоит из того, что вернулось из method.
Пример:
>>> a = 'asd123zxc567'
>>> map(lambda x: x.isdigit(), a)
[False, False, False, True, True, True, False, False, False, True, True, True]
>>>
filter(method, iterable) - применяет method на каждый объект из iterable и возращает новый список, который состоит из элементов на которых method вернул True
Пример:
>>> a = 'asd123zxc567'
>>> filter(lambda x: x.isdigit(), a)
'123567'
>>> a = ['1', '2', 'a', 'b', '3']
>>> filter(lambda x: x.isdigit(), a)
['1', '2', '3']
>>>
py.user.next
d3z0x77+rsmqbc
почему так происходит

>>> filter(lambda x: True, [None, 0, 1, 'a'])
[None, 0, 1, 'a']
>>> filter(lambda x: False, [None, 0, 1, 'a'])
[]
>>> filter(lambda x: x, [None, 0, 1, 'a'])
[1, 'a']
>>> filter(lambda x: type(x) is int, [None, 0, 1, 'a'])
[0, 1]
>>> filter(lambda x: type(x) is not int, [None, 0, 1, 'a'])
[None, 'a']
>>>

GreyZmeem
map(method, iterable)
GreyZmeem
filter(method, iterable)

Всё правильно, человек перепутал filter и map.
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