用于遍历字典对象
For Looping Over Dictionary Object
我有一个 Python 字典,格式如下:
data = {'2022-01-01': [123, 456], '2022-01-02': [789, 120], ... }
我正在尝试遍历字典数据并将列表中包含的两个数字(例如 123/456
、789/120
等)除以以下内容:
for values in len(range(data)):
ratio = values[0]/values[1]
但是我得到一个 TypeError
说 dict
对象不能被解释为整数。我的数字显然是整数。这不是遍历字典的正确方法吗?
此外,有没有一种方法可以将结果 ratio
与 dates
一起存储在新字典或 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()
.
您不需要 key
s 来产生您想要的输出,因此不需要迭代 key, value
对,只需迭代 value
s。要仅迭代 value
s,请执行 for value in data.values()
.
我有一个 Python 字典,格式如下:
data = {'2022-01-01': [123, 456], '2022-01-02': [789, 120], ... }
我正在尝试遍历字典数据并将列表中包含的两个数字(例如 123/456
、789/120
等)除以以下内容:
for values in len(range(data)):
ratio = values[0]/values[1]
但是我得到一个 TypeError
说 dict
对象不能被解释为整数。我的数字显然是整数。这不是遍历字典的正确方法吗?
此外,有没有一种方法可以将结果 ratio
与 dates
一起存储在新字典或 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()
.
您不需要 key
s 来产生您想要的输出,因此不需要迭代 key, value
对,只需迭代 value
s。要仅迭代 value
s,请执行 for value in data.values()
.