【问题标题】:why is nested for loop not capturing all values from dictionary为什么嵌套for循环没有从字典中捕获所有值
【发布时间】: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


【解决方案1】:

我想我可能找到了原因。显然,Jupyter 没有运行某些代码行。经过进一步调查,事实证明 Tornado 的更新版本是罪魁祸首。我降级了相同的,现在我可以运行代码没有任何问题。

https://github.com/jupyter/jupyter/issues/401

为大家干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-13
    • 2020-01-07
    • 2016-09-26
    • 1970-01-01
    • 2023-01-27
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多