У меня есть Dict как этотперебирать список значений словаря
data = {
'a': [95, 93, 90],
'b': [643, 611, 610]
}
Я хочу перебрать Dict и принести ключ и значение из списка значений для каждого элемента, что-то вроде этого
{'a': 95, 'b': 643}
{'a': 93, 'b': 611}
{'a': 90, 'b': 610}
Я реализовал логику для этого, и он отлично работает, но когда я вижу созданный в процессе temp_dict
, я вижу много промежуточных ненужных циклов. Конечный результат работает отлично, но я думаю, что его можно улучшить.
import timeit
data = {
'a': [95, 93, 90],
'b': [643, 611, 610]
}
def calculate(**kwargs):
temp_dict = {}
index = 0
len_values = list(kwargs.values())[0]
while index < len(len_values):
for k, v in kwargs.items():
temp_dict[k] = v[index]
index += 1
yield temp_dict
start_time = timeit.default_timer()
for k in (calculate(**data)):
print(k)
print(timeit.default_timer() - start_time)
Как это сделать более эффективно?
Поскольку у вас есть рабочий код, я думаю, вы должны разместить его в разделе Код обзора. – Vaulstein