如何从列表中的字典中提取数据

时间:2018-05-18 01:01:58

标签: python list extract

我想在列表中获取字典数据,如下所示。

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

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

3 个答案:

答案 0 :(得分:0)

这里有很多问题:

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"

答案 1 :(得分:0)

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:

然后使用dictionary

迭代.items
for key, value in ele.items():

然后打印值:

print(value)

这将是您所需的输出

答案 2 :(得分:0)

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

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)]

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