Найти - Пользователи
Полная версия: Как заполнить словарь
Начало » Python для новичков » Как заполнить словарь
1
Pelkovich
Доброго времени суток. Я новичек в питоне.
Задача такая. Имеется кортеж (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 значение для каждого ключа. Подскажите, пожалуйста, как мне решить эту проблему. Заранее благодарен.

не ори
vic57
http://python.su/forum/topic/33496/
Pelkovich
vic57
http://python.su/forum/topic/33496/
Спасибо большое, я понял как. Но если мне нужно заполнить, скажем, словарь для 20 ключей, мне придется для каждого так апендить. Это можно сделать по другому (ускоренно)?
vic57
делайте циклом
 >>> 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]}
>>>
Pelkovich
vic57
делайте циклом
Спасибо огромное, вроде разобрался
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB