python函数sorted_Python sorted()函数不应该按照它应该的方式工...

基本上我有一个嵌套列表,我试图通过第一个索引进行排序

我复制了python howto如何做的方式,但它似乎不起作用,我不明白为什么:

来自网站的代码:

>>> student_tuples = [

('john', 'A', 15),

('jane', 'B', 12),

('dave', 'B', 10),

]

>>> sorted(student_tuples, key=lambda student: student[2]) # sort by age

[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

我的代码:

def print_scores(self):

try:

#opening txt and reading data then breaking data into list separated by "-"

f = open(appdata + "scores.txt", "r")

fo = f.read()

f.close()

userlist = fo.split('

')

sheet_list = []

for user in userlist:

sheet = user.split('-')

if len(sheet) != 2:

continue

sheet_list.append(sheet)

sorted(sheet_list, key = lambda ele : ele[1]) #HERE IS THE COPIED PART!

if len(sheet_list) > 20: # only top 20 scores are printed

sheet_list = sheet_list[len(sheet_list) - 21 :len(sheet_list) - 1]

#prints scores in a nice table

print "name score"

for user in sheet_list:

try:

name = user[0]

score = user[1]

size = len(name)

for x in range(0,14):

if x > size - 1:

sys.stdout.write(" ")

else:

sys.stdout.write(name[x])

sys.stdout.write(score + "

")

except:

print ""

except:

print "no scores to be displayed!"

错误是得到的打印列表与txt中的完全一样,好像排序功能没有做任何事情!

例:

txt文件中的数据:

Jerry-1284

Tom-264

Barry-205

omgwtfbbqhaxomgsss-209

Giraffe-1227

什么印刷:

Name Score

Jerry 1284

Tom 264

Barry 205

omgstfbbqhaxom209

Giraffe 1227

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
好的,我来为您编写一个模拟 Python 内置函数 sorted() 的函数。代码如下: ```python def my_sorted(iterable, key=None, reverse=False): """ 模拟 Python 内置函数 sorted() :param iterable: 可迭代对象 :param key: 排序依据函数 :param reverse: 是否逆序排序 :return: 排序后的列表 """ # 将可迭代对象转为列表 result = list(iterable) # 如果没有指定排序依据函数,则按元素自身大小进行排序 if key is None: result.sort(reverse=reverse) else: # 使用排序依据函数进行排序 result.sort(key=key, reverse=reverse) return result ``` 这个函数接受三个参数: - `iterable`:需要排序的可迭代对象。 - `key`:排序依据函数,默认为 `None`,即按元素自身大小进行排序。 - `reverse`:是否逆序排序,默认为 `False`。 函数的返回值是排序后的列表。您可以使用如下方式来调用这个函数: ```python # 排序一个列表 my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sorted_list = my_sorted(my_list) print(sorted_list) # 按元素的绝对值大小进行排序 sorted_list = my_sorted(my_list, key=abs) print(sorted_list) # 按元素的倒数进行排序 sorted_list = my_sorted(my_list, key=lambda x: 1/x) print(sorted_list) # 逆序排序 sorted_list = my_sorted(my_list, reverse=True) print(sorted_list) ``` 输出结果分别为: ``` [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9] [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9] [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1] [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1] ``` 请注意,这个函数并不会改变原来的可迭代对象,而是返回一个新的列表。同时,这个函数的实现方式Python 内置函数 sorted() 可能有所不同,但是它们的功能是相同的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值