我正在計算字典中資料的回傳值。我的鍵是日期,對于每個鍵,我都有一個包含資料的資料框來計算我的回報。為了計算回報,我需要今天和昨天的資料(t 和 t-1),因此我想從第二個觀察(鍵)開始。由于我沒有太多經驗,我最初的想法是這樣執行:
dict_return = {}
for t, value in dict_data.items()[1:]:
returns = 'formula'
dict_returns[t] = returns
這給了我錯誤:
TypeError: 'dict_items' object is not subscriptable
尋找答案,我能找到的唯一討論是跳過第一項,例如:
from itertools import islice
for key, value in islice(largeSet.items(), 1, None):
有沒有一種簡單的方法可以跳過第一個鍵?
謝謝
uj5u.com熱心網友回復:
我可以想到 2 個選項,都需要額外的步驟:
選項 1:在沒有您的密鑰的情況下創建第二個 dict 并回圈
loop_dict = dict_data.pop(<key_to_remove>)
loop_dict然后像上面那樣回圈。
選項 2:從您的 dict 中創建一個鍵串列并遍歷該串列
keys = dict_data.keys()
loop_keys = keys[1:]
for key in loop_keys:
Etc
uj5u.com熱心網友回復:
如果您將字典的參考傳遞給list(),您將獲得字典鍵的串列。這是因為字典是可迭代的。在您的代碼中,您對鍵的值不感興趣,因此:
dict_data = {'a': 1, 'b': 2} # or whatever
dict_data[list(dict_data)[1]] = 3
print(dict_data)
輸出:
{'a': 1, 'b': 3}
uj5u.com熱心網友回復:
如果你在 Python 3 中需要使用串列,Dict_items(['No surfacing ','flippers']) 回傳一個 dict_items 物件不再是串列型別并且不支持索引,這就是為什么可以使用串列型別
uj5u.com熱心網友回復:
謝謝大家的幫助。使用串列是要走的路。我最終解決了這樣的問題:
for t in list(dict_data.keys())[1:]:
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/449219.html
