我想在列表中获取字典数据,如下所示。
list=[{"length": {"a": 0.05,"b": 0.04}, "id": "66"}]
我应该如何提取{" a":0.05," b":0.04}和" 66"从这个名单?
答案 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)]
您还应该尽量避免使用内置名称(列表)进行变量名称分配,这样可以避免很多错误