【问题标题】:How to get value from list of tuple?如何从元组列表中获取价值?
【发布时间】:2016-03-11 18:33:36
【问题描述】:

我在下面有一个列表:

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: 列表索引必须是整数,而不是 str

【问题讨论】:

  • ma_list["Short_windows"]?
  • 这是dictionary,不是列表。
  • 仅仅因为你是按顺序写的,并不意味着它是按这个顺序存储的。此外,您的标题与您的问题完全不符。
  • ma_list 传递的内容是什么?显然它不是字典,而是列表。 print(ma_list[0]) 不行吗?
  • @easyway 如果您的问题得到解决,别忘了accept (and upvote :P) an answer below

标签: python


【解决方案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

【讨论】:

    【解决方案2】:

    您可以使用dic.get('key') 来获取某个值。
    但由于字典没有排序,因此没有get.(index) 方法。
    您可以使用OrderedDic 来保持元素的顺序。

    OrderedDic 的文档在这里:https://docs.python.org/2/library/collections.html#collections.OrderedDict

    【讨论】:

      【解决方案3】:

      您的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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-11
        • 1970-01-01
        • 2022-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-16
        相关资源
        最近更新 更多