@python_beginnersЭта группа больше не существует

Страница 874 из 1885
Whore Amazing
04.12.2016
13:07:54
НЕ ПАР

шестерок

Zart
04.12.2016
13:08:03
чо

Igor
04.12.2016
13:08:08
ну в примере выше как раз шестерки

Google
Igor
04.12.2016
13:08:09
не?

ну, 3 по 2

ниче не мешает пройтись и склеить их в один

Zart
04.12.2016
13:08:34
задачу внятно сформулируй

Igor
04.12.2016
13:08:43
+, я тож не понял :( переживаю что еще больше запутываю

Whore Amazing
04.12.2016
13:08:44
Zart
04.12.2016
13:08:50
даны списки abcdef и 123 что надо получить?

Whore Amazing
04.12.2016
13:08:52
задачу внятно сформулируй
я к вечеру уже протупил

совсем

Zart
04.12.2016
13:10:41
ну в примере выше как раз шестерки
в примере нифига не ясно что перебирать надо

Whore Amazing
04.12.2016
13:12:01
import itertools li1 = ['0', '1', '2', '3', '4', '5', '6','7', '8', '9', '10', 'A', 'J', 'K', 'Q'] li2 = ['s', 'S', 'd', 'D', 'h', 'H' ,'c', 'C'] lif = [zip(x, li1) for x in itertools.permutations(li2, len(li1))] print(lif)

код вроде такой же(

Google
Igor
04.12.2016
13:13:30
он работает ток если li1 меньше* li2

над еще проверку делать

может, есть способ эффективнее, я хз:(

itertools.product вон например

Whore Amazing
04.12.2016
13:13:59
а, ща переставлю

Igor
04.12.2016
13:14:20
In [19]: a Out[19]: ['a', 'b', 'c'] In [20]: b Out[20]: [1, 2, 3, 4] In [22]: list(itertools.product(a, b)) Out[22]: [('a', 1), ('a', 2), ('a', 3), ('a', 4), ('b', 1), ('b', 2), ('b', 3), ('b', 4), ('c', 1), ('c', 2), ('c', 3), ('c', 4)]

но он парами

Varya
04.12.2016
13:14:55
s=[ a1 + a2 for a1 in [ 'x1', 'x2', 'x3'] for a2 in ['y1', 'y2', y3] ] print(s)

Zart
04.12.2016
13:15:12
мне нравится как люди решают задачу с неизвестными условиями

аджайл, йопт

Igor
04.12.2016
13:15:47
слушай, ну в рабочей среде такое тоже часто случается %))

дай бог если ТЗ есть или грамотно описанная задача в джире %))

Zart
04.12.2016
13:16:31
хочу x1, y1, x2, y2 дано abcdeft и 456789

и все дружно бросились выкладывать из букв "Ж", "О", "П" и "А" слово "ВЕЧНОСТЬ"

Igor
04.12.2016
13:17:52
СЧАСТЬЕ*

http://www.netlore.ru/upload/files/1846/1.gif

Zart
04.12.2016
13:18:58
СЧАСТЬЕ*
т.е. ты ща сам поменял ТЗ на то, которое тебе больше нравится, да?

Igor
04.12.2016
13:19:03
да!

Whore Amazing
04.12.2016
13:19:05
надо не парами

Zart
04.12.2016
13:19:29
а заказачик ООО "Снежная Королева" хотело "ВЕЧНОСТЬ"

Google
Igor
04.12.2016
13:19:57
а заказачик ООО "Снежная Королева" хотело "ВЕЧНОСТЬ"
мы этого еще не знаем, твоя догадка никак не отличается от моей, но для моей есть несколько готовых решений, а для твоей вроде не очень

Igor
04.12.2016
13:20:29
ах, понял тебя

Whore Amazing
04.12.2016
13:21:53
а результат - шестерка, точнее тройка пар

Whore Amazing
04.12.2016
13:22:52
это было декартово произведение, блядь
потому что с примером затупил

извиняюсь

Zart
04.12.2016
13:23:12
itertools.product который

но тебе нужна группировка похоже

Whore Amazing
04.12.2016
13:23:52
да, наверное

Whore Amazing
04.12.2016
13:24:00
еще комп тупит, ужасно извиняюсь

Igor
04.12.2016
13:24:01
ну вот тройка пар с помощью zip и permutations реализуется вроде норм

Whore Amazing
04.12.2016
13:24:17
ну вот тройка пар с помощью zip и permutations реализуется вроде норм
а тройка выходит потому, что первый список длиной 3?

Zart
04.12.2016
13:24:50
[[(e1, e2) for e2 in list2] for e1 in list1] # по-моему просто и наглядно и без итертулзов

Whore Amazing
04.12.2016
13:25:23
[[(e1, e2) for e2 in list2] for e1 in list1] # по-моему просто и наглядно и без итертулзов
а так итоговые списки будут длиной как list2 а надо вообще третья длина

блин, щас попробую еще раз объяснить

Igor
04.12.2016
13:25:36
да. если будет два списка длиной по 4 элемента, то на выходе будет 24 (вроде) комбинации списков по 4 кортежа

Zart
04.12.2016
13:26:22
пермутации индексов?

Google
Zart
04.12.2016
13:26:30
или рядов..

Whore Amazing
04.12.2016
13:26:43
да. если будет два списка длиной по 4 элемента, то на выходе будет 24 (вроде) комбинации списков по 4 кортежа
ну так вот а у меня списки длиной 15 и 8 а итоговые списки должны быть длиной по 3 списка из двух кортежей

Zart
04.12.2016
13:26:45
короче вместо перебора по списку нужен перебор по его перестановкам

*помигал*

пойду в проститутки

Igor
04.12.2016
13:27:08
ох ебать тогда да, группировать еще как-то

Whore Amazing
04.12.2016
13:28:33
import itertools li1 = ['0', '1', '2', '3', '4', '5', '6','7', '8', '9', '10', 'A', 'J', 'K', 'Q'] li2 = ['s', 'S', 'd', 'D', 'h', 'H' ,'c', 'C'] lif = [zip(x, li1) for x in itertools.permutations(li2, len(li1))] print(lif)
списки я скинул вот пример того что должно быть в ответе: [[('0', 's'), ('6', 'H'), ('4', 'd')], [('3', 'C'), ('8', 's'), ('2', 's')]...],

Igor
04.12.2016
13:28:34
хотя собственно

вроде бы ничего не мешает в permutations вторым аргументом задать 3?

In [39]: li1 = ['0', '1', '2', '3', '4', '5', '6','7', '8', '9', '10', 'A', 'J', 'K', 'Q'] ...: li2 = ['s', 'S', 'd', 'D', 'h', 'H' ,'c', 'C'] ...: lif = [zip(x, li2) for x in itertools.permutations(li1, 3)] ...: In [40]: lif Out[40]: [[('0', 's'), ('1', 'S'), ('2', 'd')], [('0', 's'), ('1', 'S'), ('3', 'd')], [('0', 's'), ('1', 'S'), ('4', 'd')], [('0', 's'), ('1', 'S'), ('5', 'd')], [('0', 's'), ('1', 'S'), ('6', 'd')], ...

Admin
ERROR: S client not available

Whore Amazing
04.12.2016
13:30:45
вот вроде бы то что надо но на вывод подает не кортежи, а <zip object>))

Igor
04.12.2016
13:31:08
ну list(zip(x, li2)) или если хоечшь кортежи, то tuple(zip(..))

Whore Amazing
04.12.2016
13:31:17
ага, уже сделал

а это точно все возможные варианты?

Igor
04.12.2016
13:33:15
>permutations(p[, r]) > r-length tuples, all possible orderings, no repeated elements

Whore Amazing
04.12.2016
13:33:58
спасибо всем огромное еще раз извиняюсь за свой тупизм

Varya
04.12.2016
13:46:25
посоветуйте, пожалуйста, хороший задачник

Johnnie
04.12.2016
13:50:03
https://github.com/sloria/cookiecutter-flask норм вот такую штуку взять за основу? или лучше с нуля все делать?

Igor
04.12.2016
13:52:37
а это точно все возможные варианты?
ну кстати нет, не все. это будут все возможные варианты, когда первый элемент в паре (кортеже) - из первого списка, а второй - из второго

Google
Whore Amazing
04.12.2016
13:52:50
да, так и надо

Igor
04.12.2016
13:52:54
т.е. исключаются варианты, когда ('s', '0'), например

тогда ок)

Igor
04.12.2016
13:53:53
ладно-ладно

Whore Amazing
04.12.2016
13:55:15
ладно-ладно я уже признал, что я идиот

а вот если сайт блочит запросы после n одинаковых подряд time.sleep(5) после каждого запроса решит проблему?

или кто может решал эту проблему с bit.ly

Igor
04.12.2016
14:07:01
хз, имеет смысл почитать их условия использования

ты через api обращаешься?

https://dev.bitly.com/rate_limiting.html

> If you are experiencing rate limiting errors, please wait 60 minutes to resume making API calls.

%))

Whore Amazing
04.12.2016
14:08:07
ты через api обращаешься?
не, банально requests'ом по коротким ссылкам просто переход

Igor
04.12.2016
14:08:09
в целом time.sleep(5) может спасти, но если начал отдавать что рейт лимит иксидед, то лучше таки подождать часик

юзер-агента еще поменяй на нормальный, может поможет

Whore Amazing
04.12.2016
14:08:46
он несколько десятков проходит а потом блочит

или сотен, хз

Igor
04.12.2016
14:09:04
requests.get(url, headers={'User-Agent': 'мозилла 5.0 хромсафарифаерфокс v666'}

нуу, здесь метод проб и ошибок и/или гугл в поисках людей, кто с этим уже сталкивался и описал

Igor
04.12.2016
14:09:39
нет канеш

Whore Amazing
04.12.2016
14:10:12
да ща найду

Страница 874 из 1885

Эта группа больше не существует Эта группа больше не существует