用于遍历字典对象

For Looping Over Dictionary Object

我有一个 Python 字典,格式如下:

data = {'2022-01-01': [123, 456], '2022-01-02': [789, 120], ... }

我正在尝试遍历字典数据并将列表中包含的两个数字(例如 123/456789/120 等)除以以下内容:

for values in len(range(data)):
    ratio = values[0]/values[1]

但是我得到一个 TypeErrordict 对象不能被解释为整数。我的数字显然是整数。这不是遍历字典的正确方法吗?

此外,有没有一种方法可以将结果 ratiodates 一起存储在新字典或 pandas 数据框中?

data 是字典,不是函数,因此您不应使用括号来尝试访问它。

您还应该迭代 data.items(),而不是 len(range(data))。您正在遍历字典的键,而不是列表。

通过这两个更正,我们得到以下内容:

for key, values in data.items():
    ratio = values[0]/values[1]

另外值得一提的是:

len(range(data)) 只是一个数字。 for key, value in 123(例如)没有意义。要迭代 key, value 对字典(名为 data),您需要执行 for key, value in data.items().

您不需要 keys 来产生您想要的输出,因此不需要迭代 key, value 对,只需迭代 values。要仅迭代 values,请执行 for value in data.values().