【问题标题】:Getting values from a dict in 2nd field [closed]从第二个字段的字典中获取值[关闭]
【发布时间】:2015-12-07 22:19:34
【问题描述】:

例如,我有这个:

alphabetValues = {"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7...

是否有可能,如果不是:

print(alphabetValues["c"])

如果我在字典中搜索 5,就会得到“e”。

"e":5

提前致谢。

【问题讨论】:

  • 如果你想从5 得到'e',你的字典弄错了……
  • @jonrsharpe 我已经在使用代码,例如,如果我搜索 C,则会得到 3。:/
  • 是的,但恰恰相反,因此是错误的方法。

标签: python list dictionary get


【解决方案1】:

按照 jonrsharpe 的建议,您需要反转您的字典:

alphabetValues = {"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7}

revalpha={v:k for k,v in alphabetValues.iteritems()}

>>> revalpha[5]
'e'

【讨论】:

  • 这很好用,感谢您的帮助,我才刚刚开始接触 Python。
  • 这对我不起作用,我使用 revalpha={v:k for k,v in alphabetValues.items()} 代替。
  • 我猜你正在运行 python3。版本 3 中删除了方法 iteritems,现在我们必须使用 item 代替(参见stackoverflow.com/questions/13998492/iteritems-in-python
【解决方案2】:

为什么不设置一个字母列表?

alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']

print(alphabet[0]) #will print out 'a'
print(alphabet[25]) #will print out 'z'

请注意,所有值都比预期值小 1。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多