对于元组,t = ((1, 'a'),(2, 'b'))
dict(t)
返回{1: 'a', 2: 'b'}
有没有好的方法来获得{'a': 1, 'b': 2}
(密钥和值互换)?
最终,我希望能够在给定'a'
的情况下返回1
,或者在给定'b'
的情况下返回2
,也许转换为字典不是最好的方法。
发布于 2010-09-24 09:07:57
尝试:
>>> t = ((1, 'a'),(2, 'b'))
>>> dict((y, x) for x, y in t)
{'a': 1, 'b': 2}
发布于 2011-10-06 04:46:19
稍微简单一点的方法:
>>> t = ((1, 'a'),(2, 'b'))
>>> dict(map(reversed, t))
{'a': 1, 'b': 2}
发布于 2013-03-03 05:20:10
如果你使用的是python 2.7,那就更简洁了:
>>> t = ((1,'a'),(2,'b'))
>>> {y:x for x,y in t}
{'a':1, 'b':2}
https://stackoverflow.com/questions/3783530
复制相似问题