Форум сайта python.su
Не особо элегантно но тем не менее:
>>> ls
[1, 1, 1, 1, 3, 4, 5, 6, 12, 4, 5]
>>> b=[]
>>>
def prn(b,n,x):
b.append(x)
return (n>1) and prn(b,n-1,x)
>>> filter(lambda x: ((x in ls) and prn(b,ls.count(x),x)),range(max(ls)+2))
[]
>>> b
[1, 1, 1, 1, 3, 4, 4, 5, 5, 6, 12]
>>>
filter(lambda x: ((x in ls) and prn(b,ls.count(x),x)),range(max(ls)+2))
>>> x=1
>>> len(filter(lambda y:y==x,ls))
Отредактировано (Май 17, 2007 22:40:02)
Офлайн
$m1t то не сортування – список ls як був не відсортований так і залишився (((((
Офлайн
Ну вот, как вариант, быстрая сортировка, почти полная копия с хаскелла, и в одну строку)
sortIt = lambda lst: \ len(lst) >1 and sortIt([x for x in lst[1:] if x<=lst[0]]) \ + [lst[0]] \ + sortIt([x for x in lst[1:] if x>lst[0]]) \ or lst print sortIt([1,3,2,4,5,1,8,0,7]) # => [0, 1, 1, 2, 3, 4, 5, 7, 8]
Офлайн
По самопечатающим программам (Квинам) сюда. Там и питон имеется )
Офлайн
>$m1t то не сортування – список ls як був не відсортований так і залишився (((((
просто у меня сортировка “не по месту” так, кажется, это называется.
Офлайн
ls.sort с указанием ключа или предиката уже не устраивает? В твоем случае даже это не нужно :)
Для более сложных примеров мне bisect обычно хватало
Офлайн
$m1tУ будь-яку програму вставляєш цей рядок і вона автоматично перетворюється на квін :)
p.p.s А как на питоне выглядит программа печатающая свой исходный код?
print open(__import__("sys").argv[0]).read()
Офлайн