【问题标题】:I have multiple dictionaries in one variable results. How to return only 1st dictionary value from that?我在一个变量结果中有多个字典。如何从中只返回第一个字典值?
【发布时间】:2021-08-30 10:58:59
【问题描述】:

我在一个变量结果中有多个字典。如何从中只返回第一个字典值?

for result in results:
    print(result)

输出是:

{'Title': 'John'}
{'Title': 'Mark'}
{'Title': 'Adam'}
{'Title': 'Ethen'}
{'Title': 'Tom'}

我想返回第一个字典“john”的值

【问题讨论】:

  • return results[0]?
  • 不,它不起作用。我们需要价值,它同时返回键和价值
  • 我认为你应该澄清你的预期结果,那么。
  • 能否提供类型(结果)值
  • 您也可以使用:list(results[0].values())[0](即列表第一个字典中第一个键的值)。

标签: python python-3.x dictionary for-loop nested


【解决方案1】:

如果你有一个字典列表或元组,你可以使用索引:

results[0]

0 对应于列表中的第一个字典,因为 Python 中的索引从 0 开始。

【讨论】:

  • 它正在返回 {'Title': 'John'}。但我只需要约翰价值
  • 所以你必须从字典中获取值:results[0]['Title']
  • 对于未来,请更具体地提出您的问题。否则,您将得到无用的答案。
【解决方案2】:

最好更改字典的键。 或者你可以使用 var[0] 或使用 var[title]

【讨论】:

    【解决方案3】:

    使用dict的key来获取值

    print(results[0]['Title'])
    

    【讨论】:

      【解决方案4】:
      print(results[0]["title"])
      

      如果您只需要第一项的值,则不需要使用循环

      【讨论】:

        【解决方案5】:

        您可能希望将输出格式化为 list dicts,以便输出为

        result = [
        {'Title': 'John'},
        {'Title': 'Mark'},
        {'Title': 'Adam'},
        {'Title': 'Ethen'},
        {'Title': 'Tom'}
        ]
        

        那么很明显可以通过索引result[0]['Title']得到'John'

        【讨论】:

          【解决方案6】:

          dict.values() 可以用

          results=({'Title': 'John'},{'Title': 'Mark'},{'Title': 'Adam'},{'Title': 'Ethen'},{'Title': 'Tom'})
          d=results[0]    #to store first dictionary
          print(d.values())  #to get value of first dictionary
          

          【讨论】:

            猜你喜欢
            • 2018-08-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-09-03
            • 2017-11-23
            相关资源
            最近更新 更多