【问题标题】:How to extract data from dictionary in the list如何从列表中的字典中提取数据
【发布时间】:2018-05-18 01:01:57
【问题描述】:

我想获取列表中字典的数据如下。

list=[{"length": {"a": 0.05,"b": 0.04}, "id": "66"}]

我应该如何从这个列表中提取 {"a": 0.05,"b": 0.04} 和 "66"?

【问题讨论】:

  • 这是什么语言? Python,JavaScript?您没有列表,您在列表(或数组)中有一个字典(或对象)。这应该包含在任何 Python 教程中,只需查看手册中的列表即可。您可以使用myList[1] 访问项目,其中1 是列表中项目的顺序。
  • 对不起,您使用的是什么特定的编程语言?还是您要求一个通用的编程概念?最好提供一个您尝试过的最小代码示例来说明您遇到的问题:stackoverflow.com/help/mcve
  • 我用的是python,所以想知道python的代码。

标签: python list extract


【解决方案1】:

这里有多个问题:

1) 您定义了一个名为list 的变量,它会与关键字list 发生冲突。如果您稍后尝试使用关键字创建list,这将导致令人困惑的结果。

2) 您在列表中存储了一个字典。为什么不直接创建一个字典,像这样:

dictionary = {"length": {"a": 0.05,"b": 0.04}, "id": "66"}

然后你可以通过以下命令获取你想要的数据:

dictionary["length"]  # Gets {"a": 0.05,"b": 0.04}
dictionary["id"]      # Gets "66"

但是,由于您当前在列表中拥有此元素,因此您的问题的答案是首先从列表中获取元素 0,然后应用前面的命令。如下所示:

list[0]["length"]  # Gets {"a": 0.05,"b": 0.04}
list[0]["id"]      # Gets "66"

【讨论】:

  • 我没有定义列表,我从网站中提取 json_data。但是问题解决了。非常感谢
  • 很高兴我能帮上忙。请不要忘记将此标记为答案:)
【解决方案2】:
list=[{"length": {"a": 0.05,"b": 0.04}, "id": "66"}]

for ele in list:
    for key, value in ele.items():
       print(value)

输出:

{'a': 0.05, 'b': 0.04}
66

解释:

当您使用list 时,首先遍历列表:

for ele in list:

然后使用.items 遍历dictionary

for key, value in ele.items():

然后打印值:

print(value)

这将是您需要的输出

【讨论】:

    【解决方案3】:

    你也可以像这样使用字典中的拉取值

    ls=[{"length": {"a": 0.05,"b": 0.04}, "id": "66"}]
    
    ls[0].values()
    
    dvas = [ds.values() for ds in ls]
    
    dvas = [*map(dict.values, ls)]
    

    您还应该尽量避免使用内置名称(列表)来分配变量名,这样可以避免很多错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-02
      • 2020-11-23
      • 1970-01-01
      • 2020-07-06
      • 1970-01-01
      • 2020-08-02
      • 1970-01-01
      相关资源
      最近更新 更多