关于python的sorted排序问题

L = [('Bob', 75), ('adam', 92), ('bart', 66), ('Lisa', 88)]
def by_name(t):
    return t[0].lower()
L1=sorted(L,key=by_name)
print(L1)
def by_score(s):
    return s[1]
L2=sorted(L,key=by_score)
print(L2)

为什么t[0]能够表示列表中元组的第一项?

阅读 3.4k
3 个回答

sorted把key返回的内容拿来做排序比较,t[0]就表示的就是元组的第一元素。

因为key是针对参与排序的列表中的每个元素的,所以可知传入by_name的参数z是一个元祖,自然z[0]代表元祖第一个参数

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题