我需要幫助我的代碼。Python:使用一個整數和一個字符串作爲鍵將嵌套列表轉換爲字典
我不得不作出這樣一個嵌套列表:
numbers = [[4, 1, 1, 2, 3, 2], [2, 7, 3, 2, 7, 4], [1, 7, 4, 3, 3, 2]]
我也有字符串列表:
F = ["M", "O", "R", "V", "C", "P"]
我要將列表轉換頻率在詞典中。 我的代碼是這樣的:
numb = dict(((i,f), numbers[i][f]) for i in range(len(numbers)) for f in range(len(numbers[0])))
這是結果:
{(0, 1): 1, (1, 2): 3, (2, 4): 3, (0, 0): 4, (2, 0): 1, (2, 2): 4, (1, 4): 7, (1, 1): 7, (1, 5): 4, (1, 3): 2, (0, 5): 2, (2, 1): 7, (2, 5): 2, (0, 4): 3, (1, 0): 2, (2, 3): 3, (0, 3): 2, (0, 2): 1}
的問題是,我想使用的清單f串爲f在我的字典的關鍵。我想有:
{(0, "O"): 1, (1, "R"): 3, (2, "V"): 3, (0, "M"): 4, ... (0, "O"): 1}
我試圖改變這樣的我的代碼:
numb = dict(((i,f), numbers[i][f]) for i in range(len(numbers)) for f in F)
,但我得到的回報一個TypeError: list indices must be integers, not str
有沒有一種辦法可以解決呢?先謝謝你!
我猜流浪括號。仔細查看錯誤消息,它會告訴你_where_語法錯誤被發現(但不是真正的錯誤所在)。 – alexis
您在最後的代碼片段 –
@KindStranger中有太多密切的偏見''''謝謝。我有正確的括號,但現在我獲得了另一種類型的錯誤 – killua