Discuss / Python / answer

answer

Topic source

siusuu

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

def by_name(t): return t[0]

def by_score(t): return t[1]

L2 = sorted(L, key = by_score, reverse = True)

猪力芽

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

想请问一下

def by_name(t): return t[0]

def by_score(t): return t[1] 中 return t[0]和return t[1]是什么意思么? 我理解L是一个Tuple, return t[0] 得到的应该是('Bob', 75) return t[1] 得到的应该是('Adam', 92)

我用了你的code,它也是正确的,可以麻烦你说明一下么? 谢谢。

key指定的函数将作用于list的每一个元素上,并根据key函数返回的结果进行排序。

所以这里的t作用的对象并不是L本身,而是L中的每个元素。

猪力芽

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

@磁暴王者特斯拉 对不起,我是初学者还是不能够理解,您可以用例子来帮助说明一下么? 感激不尽

请佚名

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

@猪力芽

就是说t一次只会作用L中的一个元素,每次都是('",)重新被记为t[0],t[1]。自然t[0],就是名字的集合,t[1]是成绩的集合。

以上是我的理解,希望对你有帮助。


  • 1

Reply