Форум сайта python.su
К примеру, есть список
a=[33,12,2,3,2]
Отредактировано nickmetal (Март 5, 2013 17:20:51)
Офлайн
In [1]: a=[33,12,2,3,2] In [2]: sorted(a)[:3] Out[2]: [2, 2, 3]
In [3]: import heapq In [4]: heapq.nsmallest(3, a) Out[4]: [2, 2, 3]
Отредактировано reclosedev (Март 5, 2013 18:23:26)
Офлайн
a=[33,12,2,3,2] print sorted(list(set(a)))[:3] >>> [2, 3, 12]
Офлайн
FishHooksorted(list(set(a)))[:3]
>>> a = [33, 12, 2, 3, 2] >>> print sorted(set(a))[:3] [2, 3, 12] >>>
Отредактировано py.user.next (Март 6, 2013 13:33:48)
Офлайн
У меня теперь вопрос. Зачем внутри функции sorted использовать set?
Спасибо за ответ…
Офлайн
4kptТСа понять можно двояко, он же не удосужился рассказать нам, понимается ли под “минимальным” уникальное значение или нет.
У меня теперь вопрос. Зачем внутри функции sorted использовать set?Спасибо за ответ…
Офлайн
FishHook
….он же не удосужился рассказать нам…
Отредактировано nickmetal (Март 6, 2013 16:51:46)
Офлайн
4kptчтобы одинаковые элементы не принимать за разные минимальные значения
У меня теперь вопрос. Зачем внутри функции sorted использовать set?
FishHookлогически можно вывести, используя метод от противного:
ТСа понять можно двояко, он же не удосужился рассказать нам, понимается ли под “минимальным” уникальное значение или нет.
nickmetalа как оно годится ? если ты их выбираешь, то как ты потом определишь, какой картой ходить ?
Ну, даже если есть одинаковые минимальные значения- то годится.
Отредактировано py.user.next (Март 7, 2013 00:22:11)
Офлайн
Да нет, вопрос был просто о минимальных 3-х значениях, и, по-умолчанию допускаются одинаковые значения, так что отсеивать их это имхо ваша личная инициатива. А в картах… Как можно например семерку бубей и семерку крести просто цифрой 7 идентефицировать, карты уникальны же, эти при сортировке должны лечь рядом просто, и set не поможет.
Офлайн
py.user.nextя назвал карты в списке так diamons_7, clovers_8,…
а как оно годится ? если ты их выбираешь, то как ты потом определишь, какой картой ходить ?
Отредактировано nickmetal (Март 7, 2013 13:28:40)
Офлайн