Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 1, 2017 12:53:02

Pelkovich
Зарегистрирован: 2017-09-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как заполнить словарь

Доброго времени суток. Я новичек в питоне.
Задача такая. Имеется кортеж (w), в который состоит из 5 списков, каждый из которых состоит из 5 элементов. Я хочу поэлементно заполнить словарь. Пробую так:

 for i in range(5):
    dic = {'Day' : w[0][i], 'Number' : w[1][i], 'State' : w[2][i], 'Length' : w[3][i], 'Time' : w[4][i]}
В моем понимании, я должен получить словарь, где каждому ключу будет присвоено 5 значений из разных списков входящих в кортеж соответственно. Однако в итоге я получаю только 1 значение для каждого ключа. Подскажите, пожалуйста, как мне решить эту проблему. Заранее благодарен.

не ори

Отредактировано FishHook (Сен. 1, 2017 13:15:14)

Офлайн

#2 Сен. 1, 2017 13:00:33

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Как заполнить словарь

Офлайн

#3 Сен. 1, 2017 13:11:48

Pelkovich
Зарегистрирован: 2017-09-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как заполнить словарь

vic57
http://python.su/forum/topic/33496/
Спасибо большое, я понял как. Но если мне нужно заполнить, скажем, словарь для 20 ключей, мне придется для каждого так апендить. Это можно сделать по другому (ускоренно)?

Офлайн

#4 Сен. 1, 2017 13:24:10

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Как заполнить словарь

делайте циклом

 >>> keys =['k1','k2','k3']
>>> values = [[1,2,3],[4,5,6],[7,8,9]]
>>> d = {}
>>> for k in keys: d[k] = []
>>> for i in range(len(keys)):
	val = values[i]
	for j in val: d[keys[i]].append(j)
>>> d
{'k3': [7, 8, 9], 'k2': [4, 5, 6], 'k1': [1, 2, 3]}
>>>

Офлайн

#5 Сен. 1, 2017 13:29:23

Pelkovich
Зарегистрирован: 2017-09-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как заполнить словарь

vic57
делайте циклом
Спасибо огромное, вроде разобрался

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version