任务描述
一般情况下我们创建的列表中的元素可能都是无序的,但有些时候我们需要对列表元素进行排序。
例如,对参加会议的专家名单,我们需要根据专家姓名按照首字母从小到大或者从大到小的顺序进行排序。例如我们想将如下的客人guests列表中的五个名字元素['zhang san','li si','wang wu','sun qi','qian ba']分别按照首字母从小到大的顺序和从大到小的顺序分别排序。排序后的输出分别为:
['li si','qian ba','sun qi','wang wu','zhang san']
['zhang san','wang wu','sun qi','qian ba','li si']
本关要求就是学会列表排序相关操作的使用方法,实现对列表元素的排序。
相关知识
Python针对列表数据结构内置提供了sort()方法,实现对列表元素的排序功能。其基本语法如下:
source_list.sort(reverse=True)
其中,
source_list:待排序的列表;
sort:列表排序函数的语法关键词;
reverse:sort函数的可选参数,如果设置其值为True,则进行反向从大到小排序,如果设置为False或者不填写该参数,则默认进行正向从小到大排序。
例如,给定一个客人列表guests, 我们对其按照字母排序如下:
guests = ['zhang san','li si','wang wu','sun qi','qian ba']
guests.sort()
print(guests)
guests.sort(reverse=True)
print(guests)
程序输出结果:
['li si','qian ba','sun qi','wang wu','zhang san']
['zhang san','wang wu','sun qi','qian ba','li si']
注意,sort函数会直接作用于待排序的列表并修改其排序
如果您想了解更多有关列表操作知识,请参考:【美】Eric Matthes著《Python编程——从入门到实践》第三章。
编程要求
本关的编程任务是补全src/step2/sortTest.py 文件中的函数部分,要求实现对输入列表source_list中的元素按照首字母从小到大的顺序进行排序,并且输出排序后的列表。
本关涉及的代码文件src/step2/sortTest.py 的代码框架如下:
#coding=utf-8
# 创建并初始化`source_list`列表
source_list = []
while True:
try:
list_element = input()
source_list.append(list_element)
except:
break
# 请在此添加代码,对guests列表进行排序等操作并打印输出排序后的列表
#********** Begin *********#
#********** End **********#
评测说明
本关的测试文件是src/Step2/sortTest.py,测试过程如下:
平台自动编译并运行sortTest.py,并以标准输入方式提供测试输入;
平台获取程序输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对src/Step2/sortTest.py的样例测试集:
测试输入:
zhang san
li si
hu ba
预期输出:
['hu ba', 'li si', 'zhang san']
测试输入:
wang qing
liu ming
bai zong
预期输出:
['bai zong', 'liu ming', 'wang qing']
开始你的任务吧,祝你成功!
一帆风顺固然值得羡慕,但那天赐的幸运不可多得,可遇而不可求。
答案
#coding=utf-8
# 创建并初始化`source_list`列表
source_list = []
while True:
try:
list_element = input()
source_list.append(list_element)
except:
break
# 请在此添加代码,对source_list列表进行排序等操作并打印输出排序后的列表
#********** Begin *********#
source_list.sort();
print(source_list)
#********** End **********#

被折叠的 条评论
为什么被折叠?



