2015-10-17 129 views
1

我有一本字典如下:對於給定的鍵訪問列表值的第n個元素:Python字典

d = {key: [val1, val2, val3....], key2: [valx, valy, valz, ...], ....}

是否有可能獲得價值列表的第n個元素?例如:d{key2:[2]}將返回'valz'

我試圖d.get({key:[0]})但得到:

"TypeError: unhashable type: 'dict'"

你的指針讚賞。
謝謝。

回答

1

要獲得valz只需使用d[key2][2]

+0

這不起作用,因爲字典沒有順序。 – ppperry

+0

@ppperry是的,這是一個錯誤! – cdonts

+0

這是一個命令的問題? 'd [key2]'獲得'key2'的值,這恰好是一個列表;追加'[2]'將給列表中位置2的項目。 –

2

d[key][0]對我來說是訣竅,除非我誤解了這個問題。

+0

這工作;儘管我必須爲IndexError做異常處理。出於某種原因我得到索引超出範圍錯誤。謝謝你們 !! – tad

+0

太好了。你打算讓我的答案正確嗎? :-) –

+0

我做到了,但它說我必須賺取15聲望我的反饋上市:(。 – tad

0

您的問題是d.get({key:[0]})等於d [{key:[0]}],amd字典是字典中的非法鍵。正確的解決方案是d[key][0]