
V
26.10.2016
15:39:35
а если во втором списке элемент может быть None? просто добавить if в генератор списка? типа if b is not None ?

Zart
26.10.2016
15:39:49
угу

V
26.10.2016
15:45:00
чот не пойму, говорит TypeError: type object argument after ** must be a mapping, not str

Марк
26.10.2016
15:45:03
westworld кто-нибудь смотрит? Простите за флейм.

Google

V
26.10.2016
15:45:53
но ему там либо dict приходит, либо None, откуда там str вообще не понимаю

Petro
26.10.2016
15:46:05
Угу. Но последнюю ещё не видел

Stanislav
26.10.2016
15:47:45
Бля, я спрашивал выше давно, уже вылетело из головы
Способ вытаскивания только цифер из стринга
Т.е если есть
"sa32s 1 4"
То должно выйти
"3214"

Petr
26.10.2016
15:48:18
\d

x3233
26.10.2016
15:48:41
А цикле исдигит)))

Stanislav
26.10.2016
15:48:55

V
26.10.2016
15:58:56
вот такое мнение есть:
z = dict(x, **y)
This uses the dict constructor, and is very fast and memory efficient (even slightly more-so than our two-step process) but unless you know precisely what is happening here (that is, the second dict is being passed as keyword arguments to the dict constructor), it's difficult to read, it's not the intended usage, and so it is not Pythonic. Also, this fails in Python 3 when keys are not strings.

Zart
26.10.2016
16:01:55
хуево жить с третьим питоном, да

V
26.10.2016
16:09:28
ну со вторым не сильно лучше
вполне себе вариант для 3.5 [{**a, **b} for a, b in zip(ld1, ld2) if b is not None]

Stanislav
26.10.2016
16:17:29
>>> 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}]}
>>>
Ебать, я понял
Просто вставил а потом захотел разобраться, выходит мы рекурсивно вставляем объект из одного списка в другой словарь, используя ключ который был в самом низу вложенности в самый верх

b0g3r
26.10.2016
16:17:31
Че за пробел в пути?

Zart
26.10.2016
16:17:43
рекурсии там нет

Google

Stanislav
26.10.2016
16:17:56

b0g3r
26.10.2016
16:18:06
Попробуй r'path'

ultranoise ?
26.10.2016
16:24:06
а кто то знает как в админке джанго научить таблицу сортировать по кастомным полям в случае работы с ModelAdmin? а то она сортирует только по тем которые не определены

Igor
26.10.2016
16:25:18
get аргументами нельзя разве?
в admin model классе надо указать что то было

ultranoise ?
26.10.2016
16:26:02
да вот нифига
(я про джангу свою)

53r63rn4r
26.10.2016
16:26:48
а как же типа order_by?

ultranoise ?
26.10.2016
16:26:55
не про это речь
Дано:
вьюха ModelAdmin, отрисовывает табличку, у таблички не каждое поле позволляет сортировать содержимое по нажатию на его название
Найти:
сделать все поля сортируемыми

Igor
26.10.2016
16:28:08
if not coupon

ultranoise ?
26.10.2016
16:28:10
кажется мне что надо чето химичить с кверисетами которые данные в эти поля поставляют

Igor
26.10.2016
16:28:14
вместо Len...

53r63rn4r
26.10.2016
16:32:22
Thx

ultranoise ?
26.10.2016
16:36:44
очень зря что в то время когда я переписывал админку джанги я не вел ни блога ни заметок
не могу теперь вспомнить что откуда и куда

b0g3r
26.10.2016
16:38:39
Так надо было документировать)

Stanislav
26.10.2016
16:39:22
Есть что-то, что помогает мерджить словари между собой?

V
26.10.2016
16:40:21
а так не лучше сделать?
...
if coupon:
for i,....
return data

Google

V
26.10.2016
16:41:01
зарт для 2 показал хак, я для 3
есть еще метод update, но он изменяет первый словарь

b0g3r
26.10.2016
16:43:06

Stanislav
26.10.2016
16:43:08
Я нашел в нете
{**x, **y}

b0g3r
26.10.2016
16:43:09
Вообще
Фор не будет делать итерации по пустому массиву
И функция просто вернет data какой он был

V
26.10.2016
16:45:14
Вообще
а енумерейт не спотыкается на пустом?

b0g3r
26.10.2016
16:45:46
Надо проверить

V
26.10.2016
16:46:00
только для 3.5+

V
26.10.2016
16:46:50

b0g3r
26.10.2016
16:46:53

V
26.10.2016
16:47:02
тогда да, вообще проверка не нужна

terry
26.10.2016
16:49:19
кто заведует каналом python_books ?
можете долить туда с моей папки https://drive.google.com/open?id=0BwNVyRX12MsfNl9Ib05qTVNuMUE

b0g3r
26.10.2016
16:49:54

Igor
26.10.2016
16:50:07

V
26.10.2016
16:50:58

Google

V
26.10.2016
16:51:05
это у списков вроде же

Igor
26.10.2016
16:51:28
бля, точнл

Admin
ERROR: S client not available

Igor
26.10.2016
16:51:35
update

terry
26.10.2016
16:51:54
https://habrahabr.ru/company/piter/blog/313510/?utm_source=habrahabr&utm_medium=rss&utm_campaign=hub

Igor
26.10.2016
16:52:00
d1.update(d2)

terry
26.10.2016
16:52:03
уже кто-то купил?

Igor
26.10.2016
16:52:08
без ссылки, пидор
(это я телеграму в ответ на свое сообщение)

V
26.10.2016
16:52:59
d1.update(d2)
да я ж писал про update выше, это не совсем мердж, это именно апдейт. для мерджа есть другие способы

Igor
26.10.2016
16:53:05
а, сорри))

Stanislav
26.10.2016
16:54:17
Блядь
У меня кароче такая вот структура
a = [{},{}]
b = [{},{}]
Где вложенных словарей n-ое кол-во
Но равное в 2-ух списках

Igor
26.10.2016
16:54:33
а чо надо сделать?

Stanislav
26.10.2016
16:54:35
Как лучше реализовать, красивее

Igor
26.10.2016
16:54:43
один словарь?

Stanislav
26.10.2016
16:54:46
Мерджнуть соответствующие словари
Почти
z = [{},{}]

Igor
26.10.2016
16:55:19
lst1[0] c lst2[0]

Stanislav
26.10.2016
16:55:27
Да

Igor
26.10.2016
16:55:33
и так же с [1]

Stanislav
26.10.2016
16:55:51
Так а как перемещаться по двухмерному массиву тогда?

Google

Igor
26.10.2016
16:56:00
а как конфликты решать? можно в принципе dict comprehensionом наверное
хотя не

Stanislav
26.10.2016
16:58:30
def merge_lists_with_dicts(lst1, lst2):
result = []
for i in range(0, len(lst1)):
result.append({**lst1[i], **lst2[i]})
return result
Не очень красиво выглядит

Igor
26.10.2016
17:00:20
{k: v for d in ... for k, v in d.items()}
типа такого, но я не помню, вроде zip умеет так склеивать два списка одной длины

Pavel
26.10.2016
17:01:28
Zip or zip_longest

ultranoise ?
26.10.2016
17:09:07
еще раз
есть кто то кто пеерписывал админку джанги и собаку съел на этом?
есть вещи которые мне совсем неочевидны
я разобрался
если кому то нужно будет:
def first_name(self, obj):
return obj.employee.first_name
first_name.admin_order_field="employee__first_name"

Liyoto
26.10.2016
17:41:51
Всем привет , тоьлко начал учить питон. Дошел до уроков с циклами while. if elif else и прочее , так вот ,
хочу написать код , который будет спрашивать Логин и пароль , пароль изначально написан в переменной pass. Тоесть программа спрашивает логин , затем пароль , если пароль верен , то завершается программа , а если не верен , то переспрашивает до тех пор пока не введшь правильный , возможно ли такое осуществить , с моими знаниями ?))

F
26.10.2016
17:43:09
А где она будет жить? В консоли?

Liyoto
26.10.2016
17:43:38
да . запускаю все это дело через команд.строку .
Эта группа больше не существует