如果我在 python 腳本中有一個字典串列,我打算稍后dump在一個JSON檔案中作為一個物件陣列,我如何在串列中索引特定字典的鍵?
例子 :
dict_list = [{"first_dict": "some_value"}, {"second_dict":"some_value"}, {"third_dict": "[element1,element2,element3]"}]
我的直觀解決方案是dict_list[-1][0](例如,訪問串列中最后一個字典的第一個鍵)。然而,這給了我以下錯誤:
IndexError: list index out of range
uj5u.com熱心網友回復:
輸入到字典中的鍵將選擇格式為 dict = {0:some_value} 的一些值
找到一個特定的值:
list_dictionary = [{"dict1":'value1'},{"dict2","value2"}]
value1 = list_dictionary[0]["dict1"]
“鍵”是您從字典中查找值所必須使用的
例子:
dictionary = {0:value}
dictionary[0]
在這種情況下它會起作用
但要選擇我們會做的元素
values = []
for dictionary in dict_list:
for element in dictionary:
values.append(dictionary[element])
輸出:
['some_value', 'some_value', ['element1', 'element2', 'element3']]
uj5u.com熱心網友回復:
dict_list = [{"first_dict": "some_value"}, {"second_dict":"some_value"}, {"third_dict": ['element1','element2','element3']}]
如果您的 dict 看起來像這樣,您也可以這樣做
dict_list[-1]["third_dict"]
您無法使用 int 訪問“第一個鍵”,因為您有一個 dict 您可以使用.keys()然后獲取第一個鍵
dict_list[-1].keys()[0]
uj5u.com熱心網友回復:
通過使用dict_list[-1][0],您正在嘗試使用您沒有的串列訪問串列。您有一個串列,其中包含一個 dict 鍵。
以你的例子dict_list[-1][0]:
- 當您提到dict_list 時,您已經“在串列中”。
- 第一個索引 [-1] 指的是串列的最后一項。
- 如果前一個索引中提到的專案是一個串列,則第二個索引只有“可用”。因此錯誤。
使用:
dict_list=[{"first_dict": "some_value"}, {"second_dict":"some_value"},{"third_dict": [0,1,2]}]
要訪問third_dict的值,您需要:
for value in list(dict_list[-1].values())[0]:
print(value)
輸出:
0
1
2
uj5u.com熱心網友回復:
如果您知道字典鍵的順序并且您使用的是最新的 Python 版本之一(鍵保持相同的順序),那么:
dict_list = [
{"first_dict": "some_value"}
, {"second_dict":"some_value"}
, {"third_dict": ["element1", "element2", "element3"]}
]
first_key = next(iter(dict_list[-1].keys()))
### OR: value
first_value = next(iter(dict_list[-1].values()))
### OR: both key and value
first_key, first_value = next(iter(dict_list[-1].items()))
print(first_key)
print(first_key, first_value)
print(first_value)
uj5u.com熱心網友回復:
如果您有以下字典串列:
dict_list = [{"key1":"val1", "key2":"val2"}, {"key10":"val10"}]
然后訪問您確實會使用的最后dict_list[-1]一個字典,但這將回傳一個使用鍵而不是數字索引的字典:dict_list[0]["key1"]
要僅使用數字,您需要先獲取密鑰串列:list(dict_list[-1])。這個串列的第一個元素list(dict_list[-1])[0]將是第一個鍵"key10"
然后,您可以使用索引訪問最后一個字典的第一個鍵:
dict_index = -1
key_index = 0
d = dict_list[dict_index]
keys = list(d)
val = d[keys[key_index]]
但是,您會將字典用作串列,因此串列串列可能比字典串列更適合。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/400148.html
上一篇:如何將檔案中的資料分配給字典?
下一篇:如何從txt檔案制作字典?
