Discuss / Python / 第一题写对了,第二题是参考大家的

第一题写对了,第二题是参考大家的

Topic source

right-chen

#1 Created at ... [Delete] [Delete and Lock User]

def by_score(t):

    return t[1]


def by_score(t):

    return -t[1]

没理解为什么这样写能成功,这个前面章节有介绍到吗

貌似没有 大多数人都还是有一些基础的~

例子中的key=str.lower 就是调用了lower函数先变成小写再排序的,同理可以调用别的函数先处理后再排序

这不需要啥基础呀。不加负号是默认按照从小到大排序,现在要求从大到小排序,又不能添加reverse=True把排序结果反转,因为sort函数不让你自己写,自然就得加负号让原本最大的数变最小了。或者你写return 100-t[1]是一个道理,意思就是满分100,谁被扣的分越少,谁分就最高。

门下18951

#5 Created at ... [Delete] [Delete and Lock User]

这里是不是应该这样理解,key=function 是分别作用于list中的单个元素,而不是整体

whynotme啊

#6 Created at ... [Delete] [Delete and Lock User]

想问一下为啥不能用reverse呢。。

因为老师这里输出是给定了的,

L2 = sorted(L, key=by_score)

。没法加reverse

对于L这个数组

L内第一个元组当作参数传入t内 此刻的t是 L内的第一个元组 所以取用tuple下标0或1获取元组数据

执行完L内所有的元组,进行排序

1PuWzJ

#9 Created at ... [Delete] [Delete and Lock User]

为啥不能用reversë 因为题目后面的内容你自己不能变,你要是自己写肯定可以用啊@whynotme啊

这很难理解吗


  • 1
  • 2

Reply