Answers:
稍微简单一些的方法:
>>> t = ((1, 'a'),(2, 'b'))
>>> dict(map(reversed, t))
{'a': 1, 'b': 2}
reverse
明确列出。
map
当被映射的事物是另一个内置函数(如reversed
)时,其理解速度要快于理解;在大多数其他情况下,情况恰恰相反。但是,比进行猜测要好得多:)
如果您使用的是python 2.7,则更加简洁:
>>> t = ((1,'a'),(2,'b'))
>>> {y:x for x,y in t}
{'a':1, 'b':2}
>>> dict([('hi','goodbye')])
{'hi': 'goodbye'}
要么:
>>> [ dict([i]) for i in (('CSCO', 21.14), ('CSCO', 21.14), ('CSCO', 21.14), ('CSCO', 21.14)) ]
[{'CSCO': 21.14}, {'CSCO': 21.14}, {'CSCO': 21.14}, {'CSCO': 21.14}]
dict(zip(*zip(*t)[::-1]))
。这是较慢,较丑的方式,并且会使用更多的内存。可能是3倍。