【问题标题】:Accessing nth Element of a list value for a given key: Python dictionary访问给定键的列表值的第 n 个元素:Python 字典
【发布时间】:2015-10-17 00:46:06
【问题描述】:

我有一本字典如下:

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

是否可以获取值列表的第 n 个元素?示例:d{key2:[2]} 将返回 'valz'

我尝试了d.get({key:[0]}),但得到了:

“TypeError:不可散列的类型:'dict'”

【问题讨论】:

    标签: python python-2.7 dictionary


    【解决方案1】:

    d[key][0] 对我有用,除非我误解了这个问题。

    【讨论】:

    • 这行得通;尽管我必须对 IndexError 进行异常处理。出于某种原因,我得到了 Index out of Range 错误。谢谢大家!!
    • 太棒了。你要标记我的答案正确吗? :-)
    • 我做了,但它说我必须获得 15 声望才能让我的反馈公开:(。
    【解决方案2】:

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

    【讨论】:

    • 这不起作用,因为字典没有顺序。
    • @ppperry 是的,这是一个错误!
    • 这是一个顺序问题吗? d[key2] 获取key2 的值,恰好是一个列表;附加 [2] 将在列表的第 2 位给出项目。
    • 啊哈 :-) 我明白了,然后
    【解决方案3】:

    您的问题是 d.get({key:[0]}) 等同于 d[{key:[0]}],amd 字典是字典中的非法键。正确的解决方案是d[key][0]

    【讨论】:

      猜你喜欢
      • 2016-03-16
      • 2014-04-14
      • 1970-01-01
      • 2022-11-03
      • 2019-02-13
      • 1970-01-01
      • 2017-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多