【问题标题】:values are not shown up when using the second for loop - Python使用第二个 for 循环时未显示值 - Python
【发布时间】:2021-12-04 14:30:18
【问题描述】:

我正在尝试在数据中进行随机选择,但是在使用 for 循环将所有数据嵌套到数组中时卡住了。

数据

data = [
    {"Animal1": "Dog", "Animal2": "Cat", "Animal3": "Snake"},
    {"Animal1": "Mouse", "Animal2": "Ant", "Animal3": "Chicken"},
    {"Animal1": "Fish", "Animal2": "Elephant", "Animal3": "Fox"},
    {"Animal1": "rabbit", "Animal2": "sheep", "Animal3": "wolf"}
]

我的代码:

new_data = []

for rows in data:
    for row in rows:
        new_data.append(row)

print(new_data)

输出

['Animal1', 'Animal2', 'Animal3', 'Animal1', 'Animal2', 'Animal3', 'Animal1', 'Animal2', 'Animal3', 'Animal1', 'Animal2', 'Animal3']

预期输出

{
    "Animal1": "Dog", "Animal2": "Cat", "Animal3": "Snake",
    "Animal1": "Mouse", "Animal2": "Ant", "Animal3": "Chicken",
    "Animal1": "Fish", "Animal2": "Elephant", "Animal3": "Fox",
    "Animal1": "rabbit", "Animal2": "sheep", "Animal3": "wolf"
}

【问题讨论】:

  • 您的预期输出不是有效的 Python
  • 我刚刚编辑了预期的输出。
  • 您的预期输出是不可能的,因为dict 不能有同一个键的多个实例(例如,"Animal1" 被使用了四次)

标签: python arrays json for-loop nested-loops


【解决方案1】:

我认为您正在寻找类似的东西:

from collections import defaultdict

results = defaultdict(list)

for rows in data:
    for key, value in rows.items():
        results[key].append(value)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-27
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-05
    • 1970-01-01
    相关资源
    最近更新 更多