Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 3, 2010 11:04:39

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Как код улучшить?

Isem
alexx11
К сожалению pop с enumerate совместно отказываются работать.
В виду того, что я не работаю с питоном версии ниже 3 в принципе, возможно это и так.
Питон версии 3 здесь ни причем. После первого vals.pop index будет неактуален и следующий pop вернет не то, что нужно или выбросит IndexError.



Офлайн

#2 Дек. 3, 2010 13:21:25

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Как код улучшить?

Ed
Питон версии 3 здесь ни причем. После первого vals.pop index будет неактуален и следующий pop вернет не то, что нужно или выбросит IndexError
Действительно. Однако в некоторых случаях, когда список совсем небольшой, все работает. Это меня и подвело.



Офлайн

#3 Дек. 4, 2010 10:53:13

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Как код улучшить?

Как говорится, Остапа понесло:

vals = [v for v in vals if (res.append(v) if bool_func(v) else True)]



Отредактировано (Дек. 4, 2010 11:30:07)

Офлайн

#4 Дек. 4, 2010 13:20:14

alexx11
От:
Зарегистрирован: 2010-05-13
Сообщения: 208
Репутация: +  0  -
Профиль   Отправить e-mail  

Как код улучшить?

Isem
Как говорится, Остапа понесло:
Код:

vals =

Отредактированно Isem (Сегодня 12:30:07)
О! Прикольно, вот изначально я что-то такое и хотел найти.



Офлайн

#5 Дек. 4, 2010 15:58:25

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Как код улучшить?

Isem
vals =
Хм. Извращеньям нет предела:
vals =



Офлайн

#6 Дек. 4, 2010 17:23:06

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Как код улучшить?

Ed
Isem написал:

vals =
Хм. Извращеньям нет предела:
vals =
Недурно.



Офлайн

#7 Дек. 5, 2010 09:00:16

alexx11
От:
Зарегистрирован: 2010-05-13
Сообщения: 208
Репутация: +  0  -
Профиль   Отправить e-mail  

Как код улучшить?

Спасибо =)



Отредактировано (Дек. 5, 2010 09:06:45)

Офлайн

#8 Дек. 6, 2010 09:59:39

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Как код улучшить?

Меня эти “прикольняшки” заставляли бы каждый раз сильно задумываться - а что оно такое делает?
Поэтому - лишнее.

Будьте проще.



Офлайн

#9 Дек. 6, 2010 10:48:58

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Как код улучшить?

Ну ни кто ни кого здесь не убеждает. Кому оно и лишнее, а кому и в самый раз. Мне, например, не нравится нагромождение элементарных команд (код - он не резиновый), вместо одной в меру простой плюс комментарий, особенно, когда от этого еще выигрывает и эффективность. И последний вариант, предложенный Ed, на мой взгляд, самый простой и понятный, проще некуда.



Отредактировано (Дек. 6, 2010 11:02:48)

Офлайн

#10 Дек. 6, 2010 11:00:00

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Как код улучшить?

Ээээ. Эффективность - это скорость? А ее измеряли?
В остальном - согласен. О вкусах спорить - неблагодарно.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version