
Igor
14.03.2017
13:18:27
где i - это одно число из списка a?

Daniel
14.03.2017
13:18:32
в том то и дело надо list comprehention, без него то я легко сделаю :D

Igor
14.03.2017
13:18:53
да
а зачем там тогда list comprehension?

Google

Igor
14.03.2017
13:19:10
если надо _отсортировать_ - эта лямбда пихается в качестве key в функцию sorted

Daniel
14.03.2017
13:19:11
а чтобы меня побесить :)

Маришка
14.03.2017
13:19:15

Igor
14.03.2017
13:20:04
если отобрать элементы - тогда filter, а не map
In [16]: list(filter(lambda i: (i > 0 and i % 3 == 0 and i % 4 != 0), a))
Out[16]: [45, 15, 3, 30, 3, 21, 18]

Маришка
14.03.2017
13:24:19
И да прочитай про map

Daniel
14.03.2017
13:24:33
уу, ясно :) cпасибо, действительно нахрен я мар юзал

Janek
14.03.2017
13:32:09
>>> a= [random.randint(1, 55) for i in range(15)]
>>> d = [i for i in a if i > 0 and i % 3 == 0 and i % 4 != 0]
>>> print(d)
[30]

Daniel
14.03.2017
13:41:08

Маришка
14.03.2017
13:42:19

Google

Igor
14.03.2017
13:43:43
сформулируй задачу и скажи нам
"есть список из 15 случайных чисел, каждое от 0 до 100. хочу получить список из чисел в этом списке, соответствующих условию x < 50"

Маришка
14.03.2017
13:45:33

Igor
14.03.2017
13:45:44
может, кнечно

Маришка
14.03.2017
13:45:54
Она это и делает

Igor
14.03.2017
13:45:58
ну, точнее, я исправил эту хуйню так, чтобы она возвращала лист булей
и отправил
а вот то, что он первоначально на pastebin отправил
d = [list(map((lambda a: i for i in a if i > 0 and i % 3 == 0 and i % 4 != 0),a))]
и здесь полный пиздец

Janek
14.03.2017
13:47:01
полный кек

Daniel
14.03.2017
13:47:34
ну да, я бы на товую первую лямбду тоже посмотрел :D

Janek
14.03.2017
13:47:48
слищком сложная лямбда((
была проще

Kon
14.03.2017
13:48:12
map((lambda a: ...), a)

Igor
14.03.2017
13:48:21
d = [ # список
list( # список
map( # генератор
(lambda a: i for i in a if i > 0 and i % 3 == 0 and i % 4 != 0), # генераторное выражение
a # список из 15 чисел
)
)
]
получаем список из одного элемента, который является списком, в котором хранится 15 генераторных выражений, каждое из которых содержит по 15 чисел
там че-то типа того было

Kon
14.03.2017
13:48:36
а, это не та а %)

Маришка
14.03.2017
13:49:02

Google

Kon
14.03.2017
13:49:13
я не могу, меня засасывает %)

Janek
14.03.2017
13:49:26
аргумент его посмотри

Маришка
14.03.2017
13:49:38
Давайте замапаем к каждой переменной перебор каждой переменной

Igor
14.03.2017
13:49:45
аа, да, аргумент у лямбды зачотный
я ошибся
но если исправить lambda a на lambda i, то будет примерно как я написал %)

Daniel
14.03.2017
13:50:41

Маришка
14.03.2017
13:50:45

Igor
14.03.2017
13:52:07
а, нет, не будет
generator object is not callable, да, потому что это в итоге генераторным выражением из-за скобочек становится
извините, у меня плохой ментальный интерпретатор питончика еще

Janek
14.03.2017
13:52:26
да

Igor
14.03.2017
13:52:55
я тож нихуя не понял

Маришка
14.03.2017
13:53:00
Ему лишь отобрать элементы кратные трем но не кратные четырем

Igor
14.03.2017
13:53:12
вместо того, чтобы пытаться разобрать и/или починить исходный код с пейстбина проще спросить, че ему надо

Маришка
14.03.2017
13:53:18
И что бы они были больше нуля

Igor
14.03.2017
13:53:40
если отобрать элементы - тогда filter, а не map
In [16]: list(filter(lambda i: (i > 0 and i % 3 == 0 and i % 4 != 0), a))
Out[16]: [45, 15, 3, 30, 3, 21, 18]
уу, ясно :) cпасибо, действительно нахрен я мар юзал

Janek
14.03.2017
13:53:44

Igor
14.03.2017
13:53:46
ну так вроде разобрались же, что map оказался не нужен

Google

Маришка
14.03.2017
13:53:48
(проверяет условие на больше нуля, а массив генерирует из положительных)

Daniel
14.03.2017
13:54:25
не воспринимай близко к сердцу
я не воспринимаю, просто по идее легче помочь чем критиковать, на критику уходит слишком много времени и она в большинстве случаев бесполезна

Маришка
14.03.2017
13:54:38
Нет
Критика всегда полезна
Тем более в проге

Daniel
14.03.2017
13:55:13

Маришка
14.03.2017
13:55:17
Тебя критикуют лишь для того что бы ты это запомнил на будущее ?

Admin
ERROR: S client not available

Маришка
14.03.2017
13:55:30
И уж простите в каком формате

Daniel
14.03.2017
13:56:01

Маришка
14.03.2017
13:56:45
Полез не туда куда надо, да и только

Daniel
14.03.2017
13:57:12
просто был недавно случай, чел не разбирался в основах, я ему скинул byte of python + простой курс, он поливал меня как-только мог :D "чтооо, я еще и это должен читать/знать?"

Janek
14.03.2017
13:57:20
смысла от такой дикой конструкции мало

Daniel
14.03.2017
13:57:28
ну да, у меня с лямбдой проблемы, ага

Маришка
14.03.2017
13:57:37

Janek
14.03.2017
14:08:24
у всех были пробблемы
я до окнца н понимал лямбды, пока не написал пару прог на Элме. Теперь нравки эти лямбды

Google

Janek
14.03.2017
14:09:22
только вот говорят, что дурной тон по ПЕП давать лямбдам имена

Daniel
14.03.2017
14:09:49
а зачем имена анонимным функциям?
лямбда удаляется после исп

Igor
14.03.2017
14:12:55
ты вызываешь filter (или map, неважно).
первый аргумент этой функции должен быть callable. т.е. функция. или лямбда.

Маришка
14.03.2017
14:13:23

Igor
14.03.2017
14:13:44
этой лямбде будет передаваться по очереди каждый элемент из твоего списка a, котоырй передается в map/filter вторым аргументом

Daniel
14.03.2017
14:13:46
а, все я разобрался :) это же фильтр
фильтр принимает функцию, понял

Igor
14.03.2017
14:14:19
да, полностью аналогично map'у

Маришка
14.03.2017
14:14:29

Janek
14.03.2017
14:14:39
map, filter, reduce

Igor
14.03.2017
14:14:44
только map вернет все результаты лямбды, а filter вернет только те результаты из оригнального массива, по которым лямбда вернула True или True-подобное значение

Daniel
14.03.2017
14:15:22
да я затупил, смотрел чисто на лямбду игнорируя filter и думал как же лямбда итерирует

Igor
14.03.2017
14:15:34
угу, никак

Маришка
14.03.2017
14:15:40
За счет map ?

Daniel
14.03.2017
14:15:44
да

Janek
14.03.2017
14:15:52
лмбда принимает каждый элемент второго аргумента
и уже проводит с тим элементом манипуляции
Эта группа больше не существует