柠檬楠同学 2022-05-25 19:58 采纳率: 80%
浏览 44
已结题

python函数编程问题

列表[('tom',60),('jerry',70),('ken',65),('robbort',79)],记录了学生的python、课程成绩,按照数据库成绩进行排序。

对于[('tom',60,80),('jerry',70,80),('ken',65,90),('robbort',79,60)],记录了学生的python、数据库两门课程成绩;按照总成绩成绩进行排序。

这两道题不会,初学python

第一题:错误代码
def score(list=[]):
list.sort(key=lambda i:list[i][1])
return list
print(score(list1))

我的解答思路和尝试过的方法 :第一题想着把key锁定在list[][1]里面让他以成绩排序,但是失败了
第二题想着list][]1]+list[][2]作为key排序,也失败了

我想要达到的结果:教的不深,只能自己探索了,希望有人可以帮助一下

  • 写回答

2条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-05-25 21:43
    关注

    lambda表达式不正确,参数只要放列表里面的元素就可以了,不需要再用索引

    # 第一题
    a=[('tom',60),('jerry',70),('ken',65),('robbort',79)]
    a.sort(key=lambda x:x[1])
    print(a)
    
    # 第二题
    b=[('tom',60,80),('jerry',70,80),('ken',65,90),('robbort',79,60)]
    b.sort(key=lambda x:x[1]+x[2])
    print(b)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • tree746 2022-05-25 20:32
    关注

    建议可以对该列表中的小元组进行两次看待,就是说对于这个元组的两个,分别进行一次看待,如果这个元组的数字大于后面的就可以交换,第二个问题同理,我可能说的不太准确,希望这些能够帮助到你,如果实在不会我可以发源代码给你

    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月4日
  • 已采纳回答 5月27日
  • 创建了问题 5月25日

悬赏问题

  • ¥20 powerbulider 导入excel文件,显示不完整
  • ¥20 #关于multisim绘图遇到的问题
  • ¥15 用keil调试程序保证结果进行led相关闪烁
  • ¥15 paddle训练自己的数据loss降不下去
  • ¥20 用matlab的pdetool解决以下三个问题
  • ¥15 单个福来轮的平衡与侧向滑动是如何做到的?
  • ¥15 嵌入式Linux固件,能直接告诉我crc32校验的区域在哪不,内核的校验我已经找到了,uboot没有
  • ¥20 h3c静态路要求有详细过程
  • ¥15 调制识别中输入为时频图,星座图,眼图等
  • ¥15 数据结构C++的循环、随机数问题