我有这个元组列表:
(u'firstname', u'ABCDEFG'), (u'lastname', u'ZXYVUW')]
如何使用密钥访问数据,例如元组中的firstname?
答案 0 :(得分:3)
对于第二个元组的第一个元素等,第一个元组l[0][0]
的第一个元素可以使用[1][0]
建议索引..但是如果你创建一个dict可能是更好的方法知道你想要使用的钥匙:
l = [(u'firstname', u'ABCDEFG'), (u'lastname', u'ZXYVUW')]
data = dict(l)
print(data["firstname"])
print(data["lastname"])
输出:
ABCDEFG
ZXYVUW
答案 1 :(得分:2)
双下标:
In [29]:
[(u'firstname', u'ABCDEFG'), (u'lastname', u'ZXYVUW')][0][0]
Out[29]:
'firstname'
所以第一个索引值返回第一个元素,即你的元组:
In [30]:
[(u'firstname', u'ABCDEFG'), (u'lastname', u'ZXYVUW')][0]
Out[30]:
('firstname', 'ABCDEFG')
然后再次通过下标访问元组对的第一个元素,如第一个代码段所示
如果要搜索元组列表,可以使用列表推导:
In [32]:
l = [(u'firstname', u'ABCDEFG'), (u'lastname', u'ZXYVUW')]
[item for item in l if item[0] == 'firstname']
Out[32]:
[('firstname', 'ABCDEFG')]
以上假设元组的第一个元素是你的键
答案 2 :(得分:2)
您需要指定索引。
l = [(u'firstname', u'ABCDEFG'), (u'lastname', u'ZXYVUW')]
print l[0][0]
第一个[0]
引用列表中的第一个元素(即第一个元组),第二个[0]
引用第一个元组中的第一个元素。
答案 3 :(得分:1)
[(u'firstname', u'ABCDEFG'), (u'lastname', u'ZXYVUW')][0][0]
u'firstname'
你可以使用double indexing
不知道它的正确名称
单个索引会给出:
[(u'firstname', u'ABCDEFG'), (u'lastname', u'ZXYVUW')][0]
(u'firstname', u'ABCDEFG')
因为您需要第一个数据:
(u'firstname', u'ABCDEFG')[0]
u'firstname'