пятница, 17 апреля 2009 г.

Поиск значения в списке

Итак в продолжение темы рецептов - ищем элемент в списке, как это не странно Python 2.5 этого делать нормально не умеет.
Раньше я делал это примерно так

a = None
for x in list:
if pred(x):
a = x

Очевидно что это не удобно. Как это обойти я подсмотрел здесь (там описано гораздо больше вариантов, но все они плохо работают с случаем когда ничего не найдено)

Итак делаем функцию find (которая должна бы быть в стандартной библиотеке языка)

def find(f, seq):
"""Return first item in sequence where f(item) == True."""
for item in seq:
if f(item):
return item

Дальше поиск прост

a = find(lambda x: x.id == 5, values) #will find value with id == 5 or None if nothing found

Стоит отметить что в 2.6 версии эта проблема решена и все гораздо проще (спасибо @ mishok13 за пример)

next((x for x in seq if pred(x)), None)
или для нашего примера
next((x for x in values if x.id == 5), None)

Какие есть еще более изящные варианты?

четверг, 16 апреля 2009 г.

Сумма двух масивов в Python

Потребовалось сложить элементы двух массивов в Python, вот наиболее простой способ который я придумал
[x + y for x, y in zip(arr1, arr2)]

Какие есть еще более изящные варианты?

среда, 15 апреля 2009 г.

Radio One исчезло из эфира

Сегодня утром сел в авто и вместо привычной музыки услышал русскую попсу, проверил приемник, все точно 99.4, чуть позже наступила разгадка в виде позывных Радио Алла.
Пришел на работу и прочитал следующее.

Граждане - это писец, за такие вещи гореть УМХ в аду с их говномедийными проектами. Менять нормальный формат с тысячами лояльных слушателей на бесформенное говно в виде пронафталиненой примадонны это супер удачный ход. Это даже тупее чем ребрендинг UMC.

Я больше не буду пользоваться продуктами людей, которым насрать на свою аудиторию, чего и всем желаю, ибо завтра по адресу footbal.ua - они сделают кулинарный сайт с рецептами. Впрочем, глядя на список жаль только footbal.ua остальные проекты никогда особо мне не нравились.

Кстати рекламу нашу они продавали тоже хреново, и мы отказались от их услуг еще до этого безобразия.

вторник, 14 апреля 2009 г.

Пол-порции салата

В продолжение цикла статей о говно-сервисах нашей родины.



Кафе "Смакота" Бориспольская 9. Порции просто ураган, скучаю по "Трапезной", но альтернативы рядом никакой нет, остальное либо невкусно либо невкусно и ложки алюминиевые. Иногда ходим для разрядки обедать в ресторан "Санчо Панса", но туда далековато топать.