@python_beginnersЭта группа больше не существует

Страница 1388 из 1885
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
а чтобы меня побесить :)

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
надо лист отсортировать при условиях if
Товарищ, тебе точно нужно отсортировать лист, или отобрать элементы в другой лист

И да прочитай про map

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

Janek
14.03.2017
13:32:09
в том то и дело надо list comprehention, без него то я легко сделаю :D
так тебе компрехеншн нужен или функциональный стиль?

>>> 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
map((lambda a: ...), a)
Ты внутрь лямбды его посмотри

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
а тебе так доставляет когда кто-то что то делает не так, не правда ли?)
Ну да, у тебя 1000 элементов, давай сделаем миллион операций вместо тех тысячи

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пасибо, действительно нахрен я мар юзал

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

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

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

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
Тебя критикуют лишь для того что бы ты это запомнил на будущее ?
дак я не против :D я скрестил list compreh +lambda + гнал на map

Маришка
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
ну да, у меня с лямбдой проблемы, ага

Janek
14.03.2017
14:08:24
у всех были пробблемы

я до окнца н понимал лямбды, пока не написал пару прог на Элме. Теперь нравки эти лямбды

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

Daniel
14.03.2017
14:09:49
а зачем имена анонимным функциям?

лямбда удаляется после исп

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]
получается лямбда итерирует i по a? она что генератор? я запутался совсем

Igor
14.03.2017
14:12:55
получается лямбда итерирует i по a? она что генератор? я запутался совсем
смотри. у тебя есть список из 15 чисел - он называется a

ты вызываешь 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
а, все я разобрался :) это же фильтр
Что делает и мап и сорт(key)

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
лмбда принимает каждый элемент второго аргумента

и уже проводит с тим элементом манипуляции

Страница 1388 из 1885

Эта группа больше не существует Эта группа больше не существует