У меня есть словарь dict
, который имеет два значения для каждого ключа, например:Перебор словаря Элементов в Python для выполнения множества вычислений
dict = {}
dict[name] = x1, x2
Давайте предположим, что этот словарь имеет 10 элементов в нем. Я хотел бы перебирать ключи словаря таким образом, что выполняю вычисление для каждого значения ключа, заданного относительно других наборов значений ключей в словаре. Например, я хотел бы начать с первого ключа и вычислить что-то вроде x1_0 + x2_0 - x1_1 + x2_1, где «_0» обозначает значения первого ключа, а «_1» обозначает значения, связанные с любыми значениями другого ключа. Этот расчет будет выполняться девять раз по отношению ко всем остальным девяти клавишам. Затем я перейду ко второму набору ключей и выполню вычисления по отношению к девяти оставшимся клавишам и так далее.
Я пробовал делать это с двумя словарями, содержащими одни и те же данные, но не увенчались успехом. Обратите внимание, что я уже выполнил преобразование float для значений, так что это не проблема. Вот что я пробовал:
for (name_0, (x1_0, x2_0)), (name_1, (x1_1, x2_1)) in zip(dict.iteritems(), dict2.iteritems()):
if name_0 != name_1:
d = x1_0 + x2_0 - x1_1 + x2_1
print d
Нет * первого ключа *, dicts неупорядочены –
См. Http://stackoverflow.com/questions/4326658/python-index-a-dictionary – aldux