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

Страница 630 из 1885
Zart
26.10.2016
12:20:51
извратно можно

Stanislav
26.10.2016
12:22:44
Просто теперь нужно что-то типо этого lst = [1,2 , 3,4] for i in lst: print(i[0], i[1]) #Т.е в этом алгоритме при итерации оно захватывает двойной элемент

Я просто хз как это быстро сделать и просто

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

Google
Stanislav
26.10.2016
12:23:24
Но это как-то затратно что-ли

Zart
26.10.2016
12:23:38
ты определись

у тебя плоский список или список пар

если второе, то тогда вместо i[0], i[1] это делается красиво и просто: for i, j in mylist:

это если у тебя mylist = [(1, 2), (3, 4), ...]

Stanislav
26.10.2016
12:24:42
Zart
26.10.2016
12:24:46
если у тебя [1, 2, 3, 4], то можно, но хуево

for i, j in zip(*[iter(mylist)]*2):

Stanislav
26.10.2016
12:25:44
Ох ебануться

Zart
26.10.2016
12:26:14
не рекомендую

Igor
26.10.2016
12:26:44
Zart
26.10.2016
12:27:18
>>> zip(*[iter([1, 2, 3, 4, 5, 6])]*2) [(1, 2), (3, 4), (5, 6)]

Stanislav
26.10.2016
12:27:49
>>> zip(*[iter([1, 2, 3, 4, 5, 6])]*2) [(1, 2), (3, 4), (5, 6)]
Да, работает Сложновато конечно

Google
A
26.10.2016
12:36:16
for i in range(0, len(mylist),2):

m,n = mylist[i], mylist[i+1]

Kill me pls
26.10.2016
12:37:41
for i in range(0, len(mylist),2):
интересная конструкция

A
26.10.2016
12:38:13
с qbasica привычка

/dev
26.10.2016
12:39:00
кто-нибудь интелловский питон уже испробовал?

Igor
26.10.2016
12:40:17
можно еще через шаги в слайсах mylist[::2], mylist[1::2], если я вас всех правильно понял

kiwwwi
26.10.2016
12:50:21
Привет! Ану-ка пните в нужном направлении. Есть строка "{name} bought {some} bulbs". Нужно получить лист ['name', 'some']. Как лучше такое провернуть?

В строке могут отсутствовать пробелы

Zart
26.10.2016
12:51:39
самый очевидный вариант - регекспы

Johnnie
26.10.2016
12:52:17
{\w+} ?

Zart
26.10.2016
12:52:44
негриди надо

и экранировать фигурные ж

kiwwwi
26.10.2016
12:53:32
Понял, спасибо!

Zart
26.10.2016
12:53:33
\{(.*?)\}

и re.findall наверное

Johnnie
26.10.2016
12:59:55
где-то были тут чатики по линуксу, не напомните?

я чето совсем отчаялся с восстановлением инфы со сломавшегося /home раздела

kiwwwi
26.10.2016
13:05:49
Только такой знаю https://telegram.me/ru_ubuntu

Johnnie
26.10.2016
13:07:53
бля там как то не зашло в прошлый раз

Google
Johnnie
26.10.2016
13:07:58
пойду попробую еще раз

а по арчу нету?

kiwwwi
26.10.2016
13:08:27
Не, сорри, всё что есть

ultranoise ?
26.10.2016
13:09:22
меня чето уже давно подмывает линух заюзать вместо мака

не могу объяснить природу своих желаний

Ариох
26.10.2016
13:18:30
ведь мак это лакшери линукс, действительно странные желания

Zart
26.10.2016
13:19:51
а я думал мак это перепиленная насмерть фря

Pavel
26.10.2016
13:28:44
а по арчу нету?
https://telegram.me/that_is_linux

Johnnie
26.10.2016
13:29:30
https://telegram.me/that_is_linux
там сплошь школьники-анимешники и пидорасы у них в почете :(

Igor
26.10.2016
13:31:21
патчат KDE2 под фряху

Allison
26.10.2016
14:09:59
/home

Allison
26.10.2016
14:10:31
Упс

Kill me pls
26.10.2016
14:11:09
там сплошь школьники-анимешники и пидорасы у них в почете :(
была конфа по рачу, но админ школьник и удалил ее

и у него джента стояла

человек 6-10 набралось

Stanislav
26.10.2016
14:26:06
Если есть такой вот список [{'id':2, 'ssss': 'sss'},{'id':3,'eeee': 'eee'},{'id':2,'zzzz': 'zzz'}] Как сделать такое: {'id':[ {2:[{'ssss':'sss'}, {'zzzz':'zzz'}]}, {3"['eeee':'eee'] ]}

Т.е сгрупировать по одинаковому ключу все объекты

Это чем то похоже на запросы к sql базам, типо select * where id == 2

Zart
26.10.2016
14:29:44
скорее групп бай

Google
Stanislav
26.10.2016
14:29:54
+

Я забыл просто

Есть ли алгоритм какой-то?

Zart
26.10.2016
14:31:52
>>> l = [{'id':2, 'ssss': 'sss'},{'id':3,'eeee': 'eee'},{'id':2,'zzzz': 'zzz'}] >>> o = {} >>> for elem in l: ... o.setdefault(elem['id'], []).append(elem) ... >>> o {2: [{'ssss': 'sss', 'id': 2}, {'zzzz': 'zzz', 'id': 2}], 3: [{'eeee': 'eee', 'id': 3}]} >>>

Stanislav
26.10.2016
14:32:38
Спасибо

Pavel
26.10.2016
14:34:50
чем setdefault лучше, чем defauldict?

Admin
ERROR: S client not available

Zart
26.10.2016
14:35:18
тем что подкласс городить не везде надо

Stanislav
26.10.2016
14:37:49
setdefauld - сортирует по ключу, да?

Zart
26.10.2016
14:38:12
нет

это метод задания дефолта если ключа еще нет т.е. d.setdefault(k, v) это if k not in d: d[k] = v

Pavel
26.10.2016
14:39:34
но в этом случае defaultdict даст чище код.

Zart
26.10.2016
14:41:01
нюанс - setdefault возвращает v впридачу

Stanislav
26.10.2016
14:41:31
Чет я плавлюсь Это же типо как гет, получает по ключу значение. Если его нет то возвращает второй аргумент

Zart
26.10.2016
14:42:14
не только возвращает, но и сует его в дикт

Stanislav
26.10.2016
14:42:29
Ага, понял

Гет который сует в дикт, с аргументом v на всякий случай

Zart
26.10.2016
14:46:28
>>> class rdict(dict): __missing__ = lambda s, k:s.setdefault(k, rdict()) ... >>> d = rdict() >>> d[1][2][3] = 4 >>> d {1: {2: {3: 4}}}

рекурсивный дикт

то же самое на дефолтдикте: >>> from collections import defaultdict >>> ddict = lambda:defaultdict(ddict) >>> d = ddict() >>> d defaultdict(<function <lambda> at 0x02AB9BB0>, {}) >>> d[1][2][3] = 4 >>> d defaultdict(<function <lambda> at 0x02AB9BB0>, {1: defaultdict(<function <lambda> at 0x02AB9BB0>, {2: defaultdict(<function <lambda> at 0x02AB9BB0>, {3: 4})})}) >>>

Google
Max
26.10.2016
15:07:58
чат, немного оффтопный вопрос: а есть кто-то кто в ноутах шарит? мне пару ссылок показать и совета спросить. Текущий ноут скоро умрет видимо =/

Max
26.10.2016
15:21:19
А что за вопрос?
Реально ли взять с рук ноут в пределах 20к и какие стоит смотреть? Задачи - в основном код, интернетики, изредка запустить какой-то скайрим (т.е. с минимальной картой, но без мегаупора на графику) Сейчас смотрю на этот https://www.olx.ua/obyavlenie/lenovo-thinkpad-t430s-14-11600x900-i5-3230m-8gb-320gb-nvidia-IDo4Po6.html

V
26.10.2016
15:21:21
подскажите, плз, как можно изящно склеить два списка словарей? типа пройтись по первому списку, каждый элемент которого - словарь и на каждом сделать .update(словарь из другого списка с тем же индексом)

а, map?

Zart
26.10.2016
15:24:20
ты хочешь получить список попарно склееных диктов?

V
26.10.2016
15:25:10
да

Zart
26.10.2016
15:27:35
существует, но с разной степенью еботни

не уверен что гениальная мысль

и что собрался прикручивать?

ну самый простой вариант - через COM наверное

for some value of "простой"

Марк
26.10.2016
15:32:43
Аниме отстой.

V
26.10.2016
15:34:03
[dict(a, **b) for a, b in zip(ld1, ld2)]
а так нельзя? list(map(lambda d1, d2: d1.update(d2), ld1, ld2))?

Zart
26.10.2016
15:36:27
ты изменишь d1 а list вернет лист из кучи None

мой вариант генерит третий список не трогая первых двух

V
26.10.2016
15:37:18
да, точно

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

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