这个问题听起来可能有些奇怪,但通常您可以通过键获取值,例如:
>>> mydict = {'a':1,'b':2,'c':3}
>>> mydict['a']
1
>>> mydict['b']
2
>>> mydict['c']
3
但是我需要做的是:
>>> mydict[1]
'a'
>>> mydict[2]
'b'
>>> mydict[3]
'c'
# In this case, my dictionary have to work like
>>> mydict = {1:'a',2:'b',3:'c'}
在我的程序中,打开字典有两种方式,也就是说:
>>> mydict = {'a':1,'b':2,'c':3}
# Sometimes I need the value of a letter:
>>> mydict['a']
1
# And somethimes, I need the letter of a value.
>>> mydict.REVERSAL[1]
a
我可以做类似于以下内容的事情:(我不知道这是否有效,因为我还没有测试过)
>>> mydict = {'a':1,'b':2,'c':3}
>>> mydict['a']
1
# etc...
>>> def reversal(z):
... tmp = {}
... for x,y in z.items():
... tmp[y] = x
... return tmp
>>> mydict = reversal(mydict)
>>> mydict[1]
a
# etc
>>> mydict = reversal(mydict)
>>> mydict['c']
3
# etc, etc, etc...
有没有简单的方法来做到这一点?
首先:我知道chr()和ord(),但我的代码不是关于字母的……这只是一个例子。
其次:在我的字典中不会有两个相同的值,因此不会出现重复键的问题……
d
和{v:k for k,v in d.items()}
。 - Chris_Rands