170 похожих чатов

Изобрел Import itertools lst=["а","б","в"] def combo(iteration, digit): l = []

for i in range(1, digit+1):
l.extend(list(itertools.product(iteration, repeat=i)))
return l

print(combo(lst, 3))

Как это можно улучшить до одной строки?

Поверить не могу, что в itertools такого нет, когда в других прогах на СИ такое есть.

37 ответов

22 просмотра

"улучшить до одной строки" не всегда = улучшение

Валек- Автор вопроса
._.
"улучшить до одной строки" не всегда = улучшение

это первая часть вопроса, вторая будет про оптимизацию, например, если в функцию подставить 14, то замеры показывают потребление озу 560Мб. Нужно yield прикрутить вероятно или как-то.

Собственно, combinations_with_replacement в цикле по длине строки.

Валек- Автор вопроса
evle
Собственно, combinations_with_replacement в цикле ...

он не дает всех комбинаций тоже

Валек
он не дает всех комбинаций тоже

Что-то в духе for i in range(len(lst)): yield from combinations_with_replacement(lst, i)

quantum super position
range(len(...)) Фуу

Здесь он на удивление уместен.

Валек- Автор вопроса
evle
Что-то в духе for i in range(len(lst)): yiel...

во-первых ошибка yield, а во вторых, combinations_with_replacement не дает всех комбинаций, как написал выше уже

Валек
во-первых ошибка yield, а во вторых, combinations_...

Какая такая ошибка? И каких именно комбинаций не даёт?

Валек- Автор вопроса
evle
Какая такая ошибка? И каких именно комбинаций не д...

на выходе должно быть так https://t.me/ru_python_beginners/2732965 у вас [()] [('a',), ('b',), ('c',)] [('a', 'a'), ('a', 'b'), ('a', 'c'), ('b', 'b'), ('b', 'c'), ('c', 'c')] а ошибка SyntaxError: 'yield' outside function

Валек
на выходе должно быть так https://t.me/ru_python_b...

Блин, ну логично, что код надо в функцию запихать.

Валек
на выходе должно быть так https://t.me/ru_python_b...

Ну, +1 накинунть к длине, пропустил. Про важность порядка разговора не было.

Можно плиз развернуть мысль про "в других прогах на СИ такое есть"

Валек- Автор вопроса
Иван Балакин
Можно плиз развернуть мысль про "в других прогах н...

$ cat lst a b c $ john --prince=lst -max-len=3 --stdout a b c aa ba ca ab bb cb ac bc cc aaa baa caa aba bba cba aca bca cca aab bab cab abb bbb cbb acb bcb ccb aac bac cac abc bbc cbc acc bcc ccc 39p 0:00:00:00 100.00% И конечно это не единственный инструмент

Валек
$ cat lst a b c $ john --prince=lst -max-len=3 --...

а еще из шелла можно запускать браузер хром

Валек
$ cat lst a b c $ john --prince=lst -max-len=3 --...

Пиздец, у JtR исходники на 33 мегабайта

Валек
$ cat lst a b c $ john --prince=lst -max-len=3 --...

The --prince mode in JtR is based on Atom's "princeprocessor" (a.k.a "pp") which was thankfully open-sourced (which we payed back by enhancing it and submitting upstream).

Валек
$ cat lst a b c $ john --prince=lst -max-len=3 --...

В итоге для тебя важно только самому ни строчки кода написать? Важно, чтобы кто-то сделал это давным-давно за тебя?

Валек- Автор вопроса
Иван Балакин
Пиздец, у JtR исходники на 33 мегабайта

"size": 130542, 130мБ. https://api.github.com/repos/openwall/john

Валек- Автор вопроса
Иван Балакин
screenshot В итоге для тебя важно только самому ни строчки ко...

тебе тоже нельзя в разработчики, ты не видешь всей сути

quantum super position
Я вообще не понял в чем проблема

Парень пишет "как на питоне сделать [вещь] в одну строчку" Ему отвечают "напиши в три" Парень говорит "фу говно вот на СИ в одну строчку" и скидывает строчку терминала с вызовом 33 130-мегабайтной приложухи

Валек- Автор вопроса
quantum super position
Я вообще не понял в чем проблема

в модулях itertool и more_itertools не добавили частой функции

Валек
тебе тоже нельзя в разработчики, ты не видешь всей...

Тебе нельзя в чаты заходить, средний IQ чата падает втрое

Валек- Автор вопроса
Иван Балакин
Парень пишет "как на питоне сделать [вещь] в одну ...

не передергивай, я не говорил говно. я говорил про оптимизацию и потребление памяти.

Валек
в модулях itertool и more_itertools не добавили ча...

Ну не добавили и не добавили. Напиши сам

Валек
не передергивай, я не говорил говно. я говорил пр...

Почему ты не вызываешь напрямую princeprocessor? Зачем тащишь 130 мегабайт кода JtR? Ты что, не хочешь быть оптимальнее?

Валек
в модулях itertool и more_itertools не добавили ча...

откуда ты знаешь что она часто используется?

Валек
не передергивай, я не говорил говно. я говорил пр...

Не неси пургу, пожалуйста, уже и так много принёс.

Валек- Автор вопроса
Иван Балакин
Почему ты не вызываешь напрямую princeprocessor? З...

я привел инструмент, который просили привести в качестве примера.

Валек
я привел инструмент, который просили привести в ка...

Это не инструмент, лол. Это написанное целой командой приложение. Сюрприз — принцепроцессора нет в libc. Хуй знает почему ты решил сравнить стандартную библиотеку и стороннее приложение.

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
Кто создает тут ботов для телеграмм групп ?
Antskup
8
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
How to create an OS in C? what to study?
Linus
18
Карта сайта