
Сергей
02.06.2017
21:34:53
да и "давно" - понятие относительное. я уже седьмой год с питоном работаю, но до сих пор столько интересных и простых решений нахожу, о которых сам не додумывался...

George
02.06.2017
21:34:58
нигде нет подборки таких проектов для ознакомления?)

Sasha
02.06.2017
21:35:31
Да на самом деле в крупных проектах - куча костылей

George
02.06.2017
21:35:31
иногда даже не представляешь, что тот или иной проект использует питон

Google

Сергей
02.06.2017
21:35:34

Сергей
02.06.2017
21:35:43
джанго, фласк, алхимия - можно прямо с них и начать.

Sasha
02.06.2017
21:36:02
У фласка мне нравится код в принципе
Сейчас, напишу как я решил, упорото как всегда(
Сделал, чтобы еще сортировало
import operator
import itertools
items = [наш лист]
keyfunc = operator.itemgetter('id')
res = {key: list(group) for key, group in itertools.groupby(sorted(items, key=keyfunc), key=keyfunc)}Но я да, опять все усложнил
Форматирование =ё

Сергей
02.06.2017
21:42:08
ну не, тоже неплохое решение, зря наговариваешь. только ты лучше вместо operator.itemgetter и подобных, импортируй from operator import itemgetter. Так и код аккуратней будет выглядеть, и лишнее импортироваться не будет. Причешешь своё решение - вполне себе элегантно будет.
в моё решение, например, сортировку было не впихнуть. Если это важно, то твой вариант лучше

Sasha
02.06.2017
21:44:28
Хорошо, спасибо за совет по импорту

Aragaer
02.06.2017
21:44:59
без сортировки не работает
groupby не работает на несортированном списке

Sasha
02.06.2017
21:47:44
А, кстати да

Сергей
02.06.2017
21:48:35
ну тогда да, длинновато получилось. про groupby не знал, не пользовался им никогда.

Google

George
02.06.2017
21:51:41
а не захотел использовать dict comprehensions?)

Сергей
02.06.2017
21:53:40
Кстати, вдруг кто не знает - никогда не используйте лямбды в генераторах или comprehension'ах. Недавно замеры делал - прифигел. Скорость в несколько раз выше, если вместо лямбды обычную функцию использовать. Хотя факт вроде известный среди питонистов, что лямбды медленные, но чтобы настолько я не догадывался.

Sasha
02.06.2017
21:53:41
Кто? Показывай тогда свой вариант)
А я постоянно мэп с лямбдой использую =\

Сергей
02.06.2017
21:54:51
вот, я тоже раньше грешил этим. а там даже на десятке элементов уже разница заметна.

George
02.06.2017
22:04:00
решение с defaultdict самое лучшее, имхо

Aragaer
02.06.2017
22:07:06
разве что for можно превратить в list comprehension
[res[i['id']].append(i) for i in input]

CthUlhUzzz
02.06.2017
22:09:51
Может кто asyncio graph чекнуть в PyCharm'е?
У меня он пустой почему-то вечно

Сергей
02.06.2017
22:10:11

George
02.06.2017
22:10:13

Сергей
02.06.2017
22:10:31
а, понял
тут не важно, что вернёт.

Aragaer
02.06.2017
22:10:53
угу
разница в том, что list comprehension в теории может быть распараллелен

Vladislav
02.06.2017
22:11:21

Aragaer
02.06.2017
22:11:26
в отличие от обычного for

Сергей
02.06.2017
22:11:34
ну да, так покороче, но, имхо, менее наглядно

George
02.06.2017
22:11:56
defaultdict очень нагляден)

Google

Максим
02.06.2017
22:12:13
Всем привет! Помогите сконвертировать webp в png. PIL выдает следующие Было:
стало:

Vladislav
02.06.2017
22:12:53

Artem
02.06.2017
22:15:33

George
02.06.2017
22:21:12
интересно

Vladislav
02.06.2017
22:24:42

Bro
02.06.2017
22:25:38
на лямбды pylint ругается
и даже на map()
говорит что лучше использовать list comprehensions

Artem
02.06.2017
22:26:47

Bro
02.06.2017
22:27:54
ну да
я ингда на свои натыкаюсь лямбды с мапами и фильтрами

Bro
02.06.2017
22:28:38
переписывают, т.к. потом тяжело воткнуть что там понаделал.
есть еще https://ipyparallel.readthedocs.io/en/latest/

Proton
03.06.2017
10:08:11
Всем привет!
Кто какие базы данных использует для питона и стоит ли вообще это делать?

Rocket
03.06.2017
10:08:36

Проксимов
03.06.2017
10:08:43
Юзаю sqllite3 чувствую себя отлично

Bsod
03.06.2017
10:09:38
какой странный вопрос
а задача то какая? чего хочется?

Google

Proton
03.06.2017
10:10:25
Хочется записывать данные о пользователях не в текстовый документ, а куда-то поудобнее.

Rocket
03.06.2017
10:11:01

Bsod
03.06.2017
10:11:04
опять же с таким подходом подойдет практически любая бд

Проксимов
03.06.2017
10:11:23

Bsod
03.06.2017
10:11:50
вот да. чего бы не sqlite

Proton
03.06.2017
10:12:28
Хорошо, а просмотрщик тогда какой использовать лучше? Чтобы был и лёгкий, и функциональный, и чтобы влезал в экран 800*550

Admin
ERROR: S client not available

Igor
03.06.2017
10:12:45
консольный интерфейс

Bsod
03.06.2017
10:12:50
++

Проксимов
03.06.2017
10:13:17
Если с гуи

Proton
03.06.2017
10:14:17
Ага, с нём)

Whore Amazing
03.06.2017
10:53:04
не усложняйте

Igor
03.06.2017
10:54:05
или json

Whore Amazing
03.06.2017
10:54:23
Ну, json все же формат, а не метод хранения.
А тут тебе и вроде бы похоже на бд, и не сложно, и чсв почесал, и мозг не сломал

Igor
03.06.2017
10:56:22
тоже верно

Proton
03.06.2017
10:57:03
shelve это как файлы inf в винде?

Whore Amazing
03.06.2017
10:57:27
ну...отдаленно похоже

Google

Whore Amazing
03.06.2017
10:58:07
А вообще, по бд вопрос есть, да. Монгу кошерно использовать для хранения в оперативе (как редиска) питоновых объектов? Она перестала падать и лагать?
И что еще кроме нее для таких целей нереляционного можно?
Я бы обошелся только редиской, но она только строки хранит, а объекты не умеет.

Igor
03.06.2017
11:09:49
в смысле? а HSET?

Whore Amazing
03.06.2017
11:14:31
м?
что, я чего-то не знаю?(

Igor
03.06.2017
11:14:51
ну там хеши есть
https://redis.io/commands/hset
хотя да, объектом я бы это не назвал

Whore Amazing
03.06.2017
11:15:16
нее, хэши не пойдет.

Subbotin
03.06.2017
11:20:03
а как в монго можно сложить питоновский объект?
его ж один хрен надо сериализовать
почему его не сложить тогда в редис?

Whore Amazing
03.06.2017
11:21:25
ну вот хз
надо как-то провернуть

Igor
03.06.2017
11:21:44
https://stackoverflow.com/questions/32276493/how-to-store-and-retrieve-a-dictionary-with-redis

Whore Amazing
03.06.2017
11:21:50
а эта сериализация много времени жрет?

Igor
03.06.2017
11:22:01
ну, почти HSET. HMSET вон, оказывается, есть.

Whore Amazing
03.06.2017
11:22:31
хм, оокеееей, спасибочки
все замечательно