【问题标题】:How to access an item within a list within a key of a dictionary?如何访问字典键内的列表中的项目?
【发布时间】:2022-11-04 01:31:17
【问题描述】:

在下面的字典中,我将如何打印最高总分?

scores = {
    'Monday': [21, 23, 24, 19],
    'Tuesday': [16, 15, 12, 19],
    'Wednesday': [23, 22, 23],
    'Thursday': [18, 20, 26, 24],
    'Friday': [17, 22],
    'Saturday': [22, 24],
    'Sunday': [21, 21, 28, 25]
}

我对 python 很陌生,我什至不知道从哪里开始。

【问题讨论】:

  • max(map(sum, scores.values()))只是最高分,你也需要发生的那一天吗?

标签: python list dictionary


【解决方案1】:

您可以使用 max 内置传递字典项,以及一个计算列表中值总和的键函数:

>>> max(scores.items(), key=lambda x:sum(x[1]))
('Sunday', [21, 21, 28, 25])

或者,如果您需要最大分数而不是分数值列表:

>>> max(map(lambda x:(x[0], sum(x[1])), scores.items()), key=lambda x:x[1])
('Sunday', 95)

【讨论】:

    【解决方案2】:

    这应该为您解决问题。

    print(max([max(scores[day]) for day in scores]))
    

    这样做的目的是获取每天所有分数的最大值,然后从所有最大值中获取总体最大值。

    要回答有关在字典键值对中访问列表中的项目的问题,您首先需要先访问一个这样的对:

    d = {'a': [1,2,3], 'b': [4,5,6]}
    b = d['b']
    

    然后让我们看看您要访问列表中的第三项:

    # for 3rd item you'd do 3-1
    print(b[2])
    # 6 is printed
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多