Aragaer
взятие минимума это верхний элемент в этом списке
Aragaer
а вот вставка соответственно смешнее. Очевидно, что выбрасывание старого это просто уменьшить "время жизни" у верхнего, если стало 0, то его выбросить и у нас новый верхний
Aragaer
а собственно вставка - и тут хитрость - если просто вставлять, идя сверху, то O(k)
Anonymous
Потому что хз что туда писать =)
блин, интересно. чутка позже гляну) сохранил себе сообщение. если чтото рожу дам знать
Aragaer
а вот если идти с хвоста и сразу выбрасывать все, что больше (потому что все равно не доживет), то тут и есть "амортизированная константа"
Anonymous
а последний будет “6”:“hello”
Aragaer
ну я б сделал функцию вида "create path", которая берет "элемент" и дает следующий
Tishka17
в твоем случае будет { "yyy": [ None, None, { "a": {"ttt": [None, None, None, None, None, None, "hello"]} } ] "xxx": world, }
Aragaer
но вот вопрос
Aragaer
[ ("a", (1,)) ("b", ("test",) ]
Aragaer
что получится?
Aragaer
или ты превратишь список в словарь для этого дела?
Tishka17
входной список может быть такой: [ ("a", (1, "x"), ("b", (1, "y") ]
Aragaer
не знаю про красиво, надо писать много кода 8)
Tishka17
вот да
Tishka17
и у меня не выходит красиво
Tishka17
хотя можно через defaultdict первым проходом, а потом сконвертить словари в списки
Tishka17
но чет медленно будет, чувсвую
Aragaer
придумал такое
Aragaer
сначала идем вперед, ищем сколько найдется
Aragaer
потом идем с конца до этого места, создаем структуры
Aragaer
потом вставляем результат
Aragaer
короче работающий код вроде сделал
Aragaer
https://gist.github.com/aragaer/3e6c015cc702cf7198bed4f1e54e462a
Aragaer
надо отрефакторить
ㅤ
Как использовать макросы типо этого "{Привет|Здарова} Как {ты|сам} ?"
Aragaer
макросы?
ㅤ
макросы?
Ну как их называют ?
ㅤ
Как использовать макросы типо этого "{Привет|Здарова} Как {ты|сам} ?"
Например Привет как ты ? Здарова как сам ? Привет как сам ? И т.д.
Aragaer
выглядит как rivescript
ㅤ
Система?
Ну блин софт.
Daniil
так кто выбор делает что подставлять?
Daniil
рандомно?
ㅤ
Выбирает каждый раз
Kop
с чего ты взял?
Иде подсвечивала его
Tishka17
ну ты импортируй
Kop
Может что не так делал
Misha
Может что не так делал
In [4]: from collections import defaultdict In [5]: defaultdict Out[5]: collections.defaultdict
Kop
In [4]: from collections import defaultdict In [5]: defaultdict Out[5]: collections.defaultdict
Определенно пропустил это момент )))
Дмитрий
Ну ребята ?
Погугли python random choice
ㅤ
Погугли python random choice
Ну это не рандом чоисе
ㅤ
Там каждый раз разный текст
ㅤ
Ща покажу пример как это работает
Дмитрий
Ну это не рандом чоисе
то что ты описал - это именно он. опиши подробнее тогда
Aragaer
регекспом выдрать блоки, для каждого блока сделать random.choice
Aragaer
или же переписать для rivescript и заюзать его
Kop
Ну это не рандом чоисе
Рандом чоис из листа. Плюс формат к тексту
freezlite
У меня словарь из 100 элементов например, нужно пройтись циклом по 10, порядок не имеет значения
freezlite
как это сделать ?
Aragaer
сделать сначала список, а потом погуглить про "разбить лист на чанки"
Aragaer
есть готовые решения
Kop
сделать сначала список, а потом погуглить про "разбить лист на чанки"
Можно ведь ещё взять список ключей и из этого списка выбрать 10 или count подрубить
ㅤ
то что ты описал - это именно он. опиши подробнее тогда
https://youtu.be/rBvlJwkZY2c Вот на этом видео использует макросы
freezlite
.items()[:10] не работает
koder
for idx, key in enumerate(x): If idx == 10: break
freezlite
items() возвращает dict_items
Дмитрий
https://youtu.be/rBvlJwkZY2c Вот на этом видео использует макросы
мне предлагается смотреть видео про спамеров?)
ㅤ
Больше не нашел видео
ㅤ
🤷‍♂ где макросы
Anonymous
https://youtu.be/rBvlJwkZY2c Вот на этом видео использует макросы
Так создай массив через сплит и выдавай рандомное значение.