我試圖將'fwd'的第一列中的int值轉換爲新的字典'fragment_dict',但這種類型的錯誤出現在我跑我的代碼時:''int'對象不是可下載的「。我想知道這有什麼問題。將int值轉換爲字典; TypeError:'int'對象不可自訂嗎?
fwd = {1:1, 2:10, 3:100, 5:10000, 103: 103, 204:204, 205:205, 387:387}
fragment_dic = {}
count = 0
for fragment_num in range(0, 388, 1):
for pos in range(1,101, 1):
if fwd == int:
print()
genomic_position = fragment_num*100 + pos
count += fwd[genomic_position]
elif fwd != int:
pass
fragment_dic[fragment_num] = count
count = 0
for i in fwd:
fwd[fragment_dic] = i[0]
這段代碼沒有任何意義。 'fwd'是一個字典,它永遠不會是一個整數;即使是這樣,'fwd == int'也不是檢查對象是否是int的方法(你的意思是'isinstance(fwd,int)');只是「通過」的elif完全沒有意義;而實際的錯誤是因爲通過一個字典的迭代給你的鑰匙,所以'我'是關鍵。 –
如果包含完整的錯誤信息,尤其是它向您顯示行'fwd [fragment_dic] = i [0]'的位,它會有所幫助,這意味着我們所要做的就是查看錯誤,看看它是否抱怨你不能下標'i',因爲它是一個'int'。這是你所期望的,因爲它是'fwd'的關鍵之一。 – Duncan
您的錯誤是否帶有堆棧跟蹤?那告訴你問題出在哪裏? – khelwood