我正在尝试用python创建一个字典。但是,我想使用随机值创建字典。所需输出的格式应为{'a':1,'b':2}。
import numpy as np
import pandas as pd
import random
import string
value = np.random.random(10)
np.random.seed(42)
key = list(np.random.choice(list(string.ascii_lowercase), 10))
key, value
def map_values(key, value):
i = len(key)
j = len(value)
for i in len(key):
print('key[i]' +'value[j]')
i = i+1
j = j+1
return map_values()
map_values(key, value)然而,当运行上面的代码时,我得到错误'int‘对象是不可迭代的。有人可以解释错误的原因,并纠正代码,因为我是新手的python,并试图学习它。
发布于 2018-07-05 23:14:21
您的代码中有几个错误:
对于未初始化任何字典或尝试更新dictionary.
range(len(key)),而不是整数,但不需要递归算法。map_values() 您将变量分配给key和value数组的长度,然后在循环中重新分配它们。您不使用索引从D15和D16数组中提取元素。H217和G218不使用索引来提取元素。<
因此,您可以只使用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}https://stackoverflow.com/questions/51194652
复制相似问题