首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“‘int”对象在创建字典时不可迭代

“‘int”对象在创建字典时不可迭代
EN

Stack Overflow用户
提问于 2018-07-05 23:06:42
回答 1查看 490关注 0票数 1

我正在尝试用python创建一个字典。但是,我想使用随机值创建字典。所需输出的格式应为{'a':1,'b':2}。

代码语言:javascript
复制
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,并试图学习它。

EN

回答 1

Stack Overflow用户

发布于 2018-07-05 23:14:21

您的代码中有几个错误:

对于未初始化任何字典或尝试更新dictionary.

  • Your函数的
  1. ,您需要迭代range(len(key)),而不是整数,但不需要递归算法。map_values()

您将变量分配给keyvalue数组的长度,然后在循环中重新分配它们。您不使用索引从D15和D16数组中提取元素。H217和G218不使用索引来提取元素。<

  1. H114range(len(key))>

因此,您可以只使用dict + zip

代码语言:javascript
复制
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}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51194652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档