【问题标题】:Nested list with python basic带有python基本的嵌套列表
【发布时间】:2021-07-13 15:49:07
【问题描述】:

给定一个有 N 个学生的班级中每个学生的姓名和成绩, 将它们存储在嵌套列表中并打印任何学生的姓名 成绩倒数第二。

注意:如果有多个学生成绩倒数第二, 按字母顺序排列他们的名字并将每个名字打印在一个新行上。

例子

 reords = [['chi', 20.0], ['bela', 50.0], ['alpha', 50.0]]

分数的有序列表是[20.0, 50.0],所以分数倒数第二 是 50.0 有两个学生的分数是:['beta', 'alpha'] 。 按字母顺序排列,名称打印为:

输入格式:

第一行包含一个整数 N,即学生人数。 2N 随后的几行用两行来描述每个学生。

  • 第一行包含一个学生的姓名。
  • 第二行包含他们的成绩。

输出格式

打印成绩第二低的任何学生的姓名。 如果有多名学生,按姓名字母顺序排列 将每一个打印在新行上。

输入示例:示例输入 0

 5
 Harry
 37.21
 Berry
 37.21
 Tina
 37.2
 Akriti
 41
 Harsh
 39

样本输出 0

 Berry
 Harry

这是我的提议代码:

if __name__ == '__main__':
    student = []
    values = []
    names =[]
    for _ in range(int(input())):
        name = input()
        score = float(input())
        student.append([name, score])

    for item in student:
        values.append(item[1])
    values.sort()

    for item in student:
        if item[1] == values[1]:
            names.append(item[0])
    names.sort()

    for name in names:
        print(name)

当我在 jupiter Notebook 上运行代码时,我有相同的简历。但是当我在测试的编辑器中运行相同的代码时,我有一个错误。我不明白 enter image description here

【问题讨论】:

  • 我很确定这里已经提出了一个非常相似的问题
  • 错误是说您的代码无法使用某些输入。使用屏幕截图中的完整输入对其进行测试,看看会发生什么。
  • 我不知道,但我想对这个问题有更多的解释。请看图片看看我想说什么
  • 谢谢,彼得。让我看看再跑
  • 可能Duplicate?

标签: python


【解决方案1】:

算法是:

  • 将所有学生及其分数添加到列表reords
  • 带有唯一标记的排序列表(使用set
  • 筛选列表以获取具有第二个最低分数的学生
  • 打印每个过滤学生的姓名

测试here:

if __name__ == '__main__':
    reords = []
    
    for _ in range(int(input())):
        name = input()
        score = float(input())
        reords.append([name, score])
 
    mark = sorted(set(map(lambda x: x[1], reords)))[1]
    for n, m in sorted(filter(lambda x: x[1] == mark, reords)):
        print(n)

【讨论】:

  • 你可以在这里测试你的代码:hackerrank.com/challenges/nested-list/problem
  • 你能发布你的代码吗,只是看看?
  • @AmounguiSerge,你可以在我的回答中看到它:) 但是,pastebin.com/fVa5zb2x
  • 酷,您的代码可以正常工作。这是正确的。谢谢你的帮助。
  • 我发现你很有经验,如何保持联系以便定期交流。因为我喜欢你的代码方式,所以我想达到这个水平
猜你喜欢
  • 2021-02-11
  • 1970-01-01
  • 2021-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-10
  • 2012-10-25
  • 2021-11-06
相关资源
最近更新 更多