访问给定键的列表值中第n个元素:Python字典

3
我有一个以下的字典:
d = {key: [val1, val2, val3....], key2: [valx, valy, valz, ...], ....}
是否可以获得值列表的第n个元素?例如:d{key2:[2]}将返回'valz'。
我尝试过d.get({key:[0]})但是得到了:
"TypeError:不可散列类型:'dict'"
3个回答

5

d[key][0] 对我来说很管用,除非我误解了问题。


这个代码可以运行;尽管我不得不为IndexError做异常处理。由于某种原因,我一直收到“索引超出范围”的错误提示。谢谢大家!! - tad
太好了。你会把我的答案标为正确吗? :-) - John Perry
我已经提交了反馈,但它说我必须获得15个声望才能使我的反馈公开 :(. - tad

1
要获取valz,只需使用d[key2][2]

这行不通,因为字典没有顺序。 - pppery
@ppperry 是的,那是一个错误! - cdonts
这怎么是一个顺序的问题呢?d[key2]获取了key2对应的值,这个值恰好是一个列表;添加[2]将会给出列表中位置为2的元素。 - John Perry
啊哈 :-) 我明白了,那么 - John Perry

0
你的问题在于 d.get({key:[0]}) 等同于 d[{key:[0]}],而字典作为字典的键是不合法的。正确的解决方案是 d[key][0]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接