
Павел
24.03.2017
19:24:32
Так никто сразу ниче нп поймёт

Igor
24.03.2017
19:24:33
Читаю я переменные. Где задачи именно по переменным? Там обычно пихают ещё остальное до кучи.

Павел
24.03.2017
19:24:36
Иди структурированно

Solyar
24.03.2017
19:25:22
In [1]: lst = [(1, '2017.03.24', 'Solyar', 'Обычная цитата', 0)]
In [2]: keys = ['id', 'date', 'username', 'qtext', 'rate']
In [3]: dct = dict(zip(keys, lst))
In [4]: dct
Out[4]: {'id': (1, '2017.03.24', 'Solyar', 'Обычная цитата', 0)}
упс. у нас список из одного элемента, кортежа. все пошло по пизде.
можно передать кортеж, а не список - lst[0], можно распаковать с помощью звездочки - `*lst`
In [5]: dct = dict(zip(keys, *lst))
In [6]: dct
Out[6]:
{'date': '2017.03.24',
'id': 1,
'qtext': 'Обычная цитата',
'rate': 0,
'username': 'Solyar'}
Падажжиии

Google

Solyar
24.03.2017
19:25:41
ndct = dict(zip(dct, *lst))
>>> ndct
{'qtext': 1, 'username': '2017.03.24', 'id': 'Обычная цитата', 'rate': 0, 'date': 'Solyar'}
Why this?

Sergey
24.03.2017
19:25:53

Igor
24.03.2017
19:26:27
в zip мы передаем две отсортированных структуры.
смотрите.
zip вообще как работает? берет один список (кортеж, че-нибудь еще, похуй), берет второй список. проходится по первому элементу из первого списка, проходится по первому элементу из второго списка, кладет их рядом, профит.
In [10]: zip([1, 2, 3], ['a', 'b', 'c'])
Out[10]: <zip at 0x108dd9208>
упс. в питоне 3 версии это непонятная ленивая хуйня.
In [11]: list(zip([1, 2, 3], ['a', 'b', 'c']))
Out[11]: [(1, 'a'), (2, 'b'), (3, 'c')]
вот так понятней, надеюсь.
In [12]: dict(zip([1, 2, 3], ['a', 'b', 'c']))
Out[12]: {1: 'a', 2: 'b', 3: 'c'}
если передать в дикт список из списков (или список из кортежей, или че-нибудь подобное, в общем), то дикт будет принимать первое значение из этой пары как ключ, а второе - как значение

Igor
24.03.2017
19:26:50

Solyar
24.03.2017
19:27:09

Igor
24.03.2017
19:27:19
Там куча навалена метериалов, с которых начать - хуй только знает.

Sergey
24.03.2017
19:27:21

Igor
24.03.2017
19:27:42
если тебе важен порядок (а обычно такое не так уж и часто нужно) - есть OrderedDict

Sergey
24.03.2017
19:28:27

Igor
24.03.2017
19:29:41

Google

pride
24.03.2017
19:29:57
да с зипом понятно, но если в условии уже определен словарь, то разве перебор ключей и зип их и списка(кортежа) не приведет к такому
{'username': 1, 'date': '2017.03.24', 'id': 'Solyar', 'rate': 'Обычная цитата', 'qtext': 0}

Igor
24.03.2017
19:30:09
за срач в строках из-за юникода сорри

Solyar
24.03.2017
19:30:24

pride
24.03.2017
19:30:33
ты берешь два списка и по очереди их как ключ значение пишешь, это понятно
а вот если определенный словарь уже есть, как попасть верным значением в верный ключ?)

Solyar
24.03.2017
19:31:56
Кстати хорошая задачка

Igor
24.03.2017
19:32:05
да с зипом понятно, но если в условии уже определен словарь, то разве перебор ключей и зип их и списка(кортежа) не приведет к такому
{'username': 1, 'date': '2017.03.24', 'id': 'Solyar', 'rate': 'Обычная цитата', 'qtext': 0}
я ж грю во всех питонах до 3.6 версии словари неупорядочены
в смысле - верным значением в верный ключ?
смотри.
есть два СПИСКА. они упорядочены.
[1, 2, 3]
['a', 'b', 'c']
zip че делает?
zip берет из каждого списка по одному элементу и делает из них пары.
(1, 'a'), потом (2, 'b'), потом (3, 'c')
с этим ты согласен? согласен
(надеюсь уж!)

Solyar
24.03.2017
19:32:05
:D

pride
24.03.2017
19:32:17
:D
блять
да я ж не спорю
но у нас в исходниках словарь и список
а не два списка

Igor
24.03.2017
19:32:36
где?
покажи

pride
24.03.2017
19:32:52
»> lst = [(1, '2017.03.24', 'Solyar', 'Обычная цитата', 0)]
»> dct = {'id':None, 'date':None, 'username':None, 'qtext':None, 'rate': 0}

Igor
24.03.2017
19:33:20
все, дошло, о чем ты

pride
24.03.2017
19:33:23
)))))

Igor
24.03.2017
19:33:30
сорри :(

Google

pride
24.03.2017
19:33:33
до 3.6 ебаться придётся
хотя можно, а нет
там два значения int
так бы можно было разобрать по контенту)
если бы rate и id не int были

Igor
24.03.2017
19:34:34
я че-т просто посмотрел на сообщение соляра, увидел что id над 1, date над датой, username, qtext, rate хуемое и вместо дикта сделал список
просто ровно в том порядке, что он написал %)
над че-т с внимательностью делать, короче
или просто пиздеть поменьше

Solyar
24.03.2017
19:37:24
Так с диктом разобрались
а теперь лист
:D

Igor
24.03.2017
19:37:34
а че лист

Solyar
24.03.2017
19:37:42
а не
все ничего
Туплю ужасно

Igor
24.03.2017
19:37:54
у тебя там лист из одного элемента, кортежа
и вот кортеж уже из пяти элементов
ниче, я тоже, как видишь %))
надо домой, пожалуй

Solyar
24.03.2017
19:38:11
Но есть один момент

Google

Igor
24.03.2017
19:38:23
какой?

Solyar
24.03.2017
19:38:37
ndct = OrderedDict(zip(dct, *lst))
>>> ndct
OrderedDict([('qtext', 1), ('username', '2017.03.24'), ('date', 'Solyar'), ('id', 'Обычная цитата'), ('rate', 0)])
Что я делаю не так?

Igor
24.03.2017
19:38:48
все ты делаешь так
скажи мне, чего ты хочешь добиться в итоге от объекта ndct?

Solyar
24.03.2017
19:39:42
{'id': 1, 'date': '23.12.1231'....
и так далее

Igor
24.03.2017
19:40:04
т.е. хочешь, чтобы при отображении на экране он выглядел как дикт, и при этом в определенном, установленным тобой, порядке?

Solyar
24.03.2017
19:40:16

Admin
ERROR: S client not available

Solyar
24.03.2017
19:40:31
и чтобы используя скажем ndct['id'] я получал 1

Igor
24.03.2017
19:40:42
а ты пробовал так делать? ;)
тебе важно передавать это именно в таком порядке и именно с фигурными скобочками куда-нибудь еще (в другой сервис, сохранять в файл в формате json) или просто доебалось для красоты и по привычке? =)

Solyar
24.03.2017
19:43:03
Со второго раза получилось
Спасибо
Я просто юзал {} вместо []

Igor
24.03.2017
19:43:52

pride
24.03.2017
19:43:56
json c sorted True

Google

pride
24.03.2017
19:44:04
И запомнить ))

Igor
24.03.2017
19:44:27

pride
24.03.2017
19:45:01
Я вообще дворник. Чего пристали
:(

Igor
24.03.2017
19:46:20
вот ensure_ascii=False здесь точно не помешает

Марк
24.03.2017
19:46:28
Уже дворники на петоне пишут. Походу, пора на пехепе переходить

Igor
24.03.2017
19:46:38
print(json.dumps(ndct, ensure_ascii=False))
это, конечно, не очень хорошо
но кто я, чтобы запрещать!

pride
24.03.2017
19:47:16
Почему не хорошо?
Я прост так в прод фигачу

b0g3r
24.03.2017
19:47:41
У меня так бомбит со второго игоря

darkwoolf
24.03.2017
19:47:53
А есть чат телеграмма по фласку?

b0g3r
24.03.2017
19:48:02
Ничего не могу с собой поделать

Igor
24.03.2017
19:48:31

Марк
24.03.2017
19:48:34
Зачем вообще чат по фласку?

darkwoolf
24.03.2017
19:48:53

b0g3r
24.03.2017
19:48:54

darkwoolf
24.03.2017
19:48:56
есть вот
Эта группа больше не существует