【发布时间】:2020-04-04 23:15:02
【问题描述】:
来自 Allan Visochek 的书,实用数据争论,第 3 章, 使用 python 3,conda 6.0.1
new_scf_data=[]
variables= ["address", "created_at","description","lng","lat","rating"]
for old_entry in scf_data["issues"]:
new_entry={}
for variable in variables:
new_entry[variable] = old_entry[variable]
new_scf_data.append(new_entry)
print(new_entry)
{ 'address': '2501 Granada Circle West Saint Petersburg, Florida',
'created_at': '2017-08-26T16:19:53-04:00',
'description': 'Grass has not been cut in over 3 weeks.',
'lat': 27.7325689,
'lng': -82.6684505,
'rating': 1}
此代码应返回一个嵌套字典,其中包含多个键及其值。但是,运行代码后,原始数据集只有一个“案例”。请记住,我是个菜鸟。
请指教
非常感谢
【问题讨论】:
-
预期的输出是大约 900 行代码,而我得到的是 7ish。我得到的(显示在原始评论中)只是嵌套字典的 1 个案例。我应该解决的不仅仅是 1 个“案例”。每个案例,在所有嵌套字典的变量中都有键。
-
请将edit 输入问题并将其格式化为代码。
-
您仍然没有明确说明您要做什么,但我认为您想将
new_entry添加到循环内的列表中,然后打印出列表。你永远不会在任何地方保存new_entry。 -
您似乎打算在某个时候将它们添加到列表中。您在顶部有一个从未使用过的
new_scf_data列表。 -
正确,但是在回溯那一步之后,我发现 for 循环没有覆盖 scf_data 中嵌套 dict 的其余部分。相反,它选择一个随机字典并返回它..
标签: python-3.x dictionary for-loop nested dataset