如何从元组列表中获取价值?

时间:2015-12-07 07:55:32

标签: python

我有以下列表:

ma_list:

{'Short_windows': 1, 'Long_windows': 2, 'Cover_windows': 2}

但我无法使用ma_list[0]获取Short_windows's值1。

如何获得Short_windowsLong_windowsCover_windows's值?

如果我尝试打印ma_list['Short_windows']

它将显示以下错误:

  

TypeError:list indices必须是整数,而不是str

3 个答案:

答案 0 :(得分:1)

那不是list,而是dict,您需要使用密钥访问这些值:

>>> d = {'Short_windows': 1, 'Long_windows': 2, 'Cover_windows': 2}
>>> d['Short_windows']
1

可替换地:

>>> for key, value in d.items():
...     print key, value
... 
Short_windows 1
Long_windows 2
Cover_windows 2

答案 1 :(得分:1)

您可以使用dic.get('key')获取特定值。
但由于词典未订购,因此没有get.(index)方法。
您可以使用OrderedDic来保持元素的顺序
OrderedDic的文档位于:https://docs.python.org/2/library/collections.html#collections.OrderedDict

答案 2 :(得分:1)

您的ma_listdict,而不是list

由于这是一本字典,你可以通过键获得价值:

ma_dict = {'Short_windows': 1, 'Long_windows': 2, 'Cover_windows': 2}
ma_dict['Short_windows'] = 1

字典在Python中是无序的。如果您不关心条目的顺序并且想要通过索引访问键或值,则可以使用ma_dict.keys()[0]ma_dict.values()[0]ma_dict.items()[0]

如果您关心条目的顺序,从Python 2.7开始,您可以使用collections.orderdDictodict