Форум сайта python.su
IsemПитон версии 3 здесь ни причем. После первого vals.pop index будет неактуален и следующий pop вернет не то, что нужно или выбросит IndexError.alexx11В виду того, что я не работаю с питоном версии ниже 3 в принципе, возможно это и так.
К сожалению pop с enumerate совместно отказываются работать.
Офлайн
EdДействительно. Однако в некоторых случаях, когда список совсем небольшой, все работает. Это меня и подвело.
Питон версии 3 здесь ни причем. После первого vals.pop index будет неактуален и следующий pop вернет не то, что нужно или выбросит IndexError
Офлайн
Как говорится, Остапа понесло:
vals = [v for v in vals if (res.append(v) if bool_func(v) else True)]
Отредактировано (Дек. 4, 2010 11:30:07)
Офлайн
IsemО! Прикольно, вот изначально я что-то такое и хотел найти.
Как говорится, Остапа понесло:
Код:
vals =
Отредактированно Isem (Сегодня 12:30:07)
Офлайн
IsemХм. Извращеньям нет предела:
vals =
Офлайн
EdНедурно.
Isem написал:
vals =
Хм. Извращеньям нет предела:
vals =
Офлайн
Спасибо =)
Отредактировано (Дек. 5, 2010 09:06:45)
Офлайн
Меня эти “прикольняшки” заставляли бы каждый раз сильно задумываться - а что оно такое делает?
Поэтому - лишнее.
Будьте проще.
Офлайн
Ну ни кто ни кого здесь не убеждает. Кому оно и лишнее, а кому и в самый раз. Мне, например, не нравится нагромождение элементарных команд (код - он не резиновый), вместо одной в меру простой плюс комментарий, особенно, когда от этого еще выигрывает и эффективность. И последний вариант, предложенный Ed, на мой взгляд, самый простой и понятный, проще некуда.
Отредактировано (Дек. 6, 2010 11:02:48)
Офлайн
Ээээ. Эффективность - это скорость? А ее измеряли?
В остальном - согласен. О вкусах спорить - неблагодарно.
Офлайн