В вашем коде есть несколько ошибок:
- Вам нужно перебрать
range(len(key))
, а не целое число len(key)
.
- Вы не инициализировали ни один словарь или пытались обновить словарь.
- Ваша функция возвращает
map_values()
, но рекурсивный алгоритм не требуется.
- Вы присваиваете переменные длинам массивов
key
и value
, но затем переназначаете их в цикле for.
- Вы не используете индексы для извлечения элементов из ваших массивов
key
и value
.
Таким образом, вы можете просто использовать dict
+ zip
:
np.random.seed(42)
key = np.random.choice(list(string.ascii_lowercase), 10)
value = np.random.random(10)
res = dict(zip(key, value))
{'g': 0.83244264080042174,
'h': 0.020584494295802447,
'k': 0.70807257779604549,
'o': 0.6011150117432088,
's': 0.18182496720710062,
't': 0.86617614577493518,
'u': 0.96990985216199432,
'w': 0.18340450985343382,
'z': 0.21233911067827616}