通过键获取元组值
有没有办法从元组中获取值:
TUPLE = (
('P', 'Shtg1'),
('R', u'Shtg2'),
('D', 'Shtg3'),
)
通过像 P
这样的字符串键来调用
Python 说这种“查询”只能用整数来进行
我不能使用循环(太耗资源了...)
谢谢!
5 个回答
9
你想要用字典来代替其他东西。
d = { 'P': 'Shtg1', 'R': u'Shtg2', 'D':'Shtg3' }
然后你可以这样来访问这个键:
d['P'] # Gets 'Shtg1'
16
dict(TUPLE)[key]
这个写法可以满足你的需求。
虽然会占用一点额外的内存,但速度很快。
66
对于这类查询,最常用的数据结构是字典:
In [1]: t = (
...: ('P', 'Shtg1'),
...: ('R', u'Shtg2'),
...: ('D', 'Shtg3'),
...: )
In [2]: d = dict(t)
In [3]: d['P']
Out[3]: 'Shtg1'
如果你使用元组,就无法避免循环(无论是显式的还是隐式的)。