使用python字典时无法解压不可迭代的int对象

Posted

技术标签:

【中文标题】使用python字典时无法解压不可迭代的int对象【英文标题】:cannot unpack non-iterable int object when using python dicitonary 【发布时间】:2020-09-22 03:45:56 【问题描述】:

我有以下命令:

import pandas as pd
import numpy as np
from scipy import stats
np.random.seed(12345)

standarderrors1992 = stats.sem(np.random.normal(32000,200000,3650))
standarderrors1993 = stats.sem(np.random.normal(43000,100000,3650))
standarderrors1994 = stats.sem(np.random.normal(43500,140000,3650))
standarderrors1995 = stats.sem(np.random.normal(48000,70000,3650)) 
mean1992 = np.random.normal(32000,200000,3650).mean()
mean1993 = np.random.normal(43000,100000,3650).mean()
mean1994 = np.random.normal(43500,140000,3650).mean()
mean1995 = np.random.normal(48000,70000,3650).mean()

在这里,我找到了一组随机选择的值的平均值和标准误差。

limit = 3000
dict = mean1992:standarderrors1992,mean1993:standarderrors1993,mean1994:standarderrors1994,mean1995:standarderrors1995 
for key,value in dict:
    if limit > (key+(1.96*value)):
    colour = 1 
    elif limit < (key+(1.96*value)):
    colour = 0 
    elif (limit !> (key+(1.96*value))) && (limit !< (key-(1.96*value))):
    colour = ((key+(1.96*value))-limit)/((key+(1.96*value))-(key-(1.96*value)))

在这里,我试图将与均值和标准错误相对应的值放入字典中,以便我可以遍历它们。

理想情况下,我想根据特定年份的平均值和标准误差值为变量“颜色”分配一个特定值。即 1992 年的平均值和 SE

但是,我不断收到错误消息:

TypeError: cannot unpack non-iterable int object

谁能告诉我哪里出错了?

【问题讨论】:

【参考方案1】:

您需要遍历 dict.items() 才能使其工作。

for key,value in dict.items():
    # do stuff here

我建议不要将变量命名为 dict,这会影响 dict 函数的构建:)

【讨论】:

以上是关于使用python字典时无法解压不可迭代的int对象的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:无法在 Django 视图函数中解压不可迭代的 int 对象

TypeError:'int'对象不可迭代,使用 Python 3 [关闭]

Python:对奇数/偶数随机数求和生成 TypeError:'int' 对象不可迭代

Python:“numpy.amax”与 Python 的“max”:“int”对象不可迭代

无法在 django 中解压不可迭代的 ModelBase 对象

PyAutoGui TypeError:无法解压不可迭代的 NoneType 对象