列表习题(3)

本文介绍了Python中对列表进行排序的方法,通过sort()函数实现升序和降序排列。以参会专家名单为例,展示了如何对字符串列表进行首字母排序,并提供了实际的代码示例。在编程任务中,要求对输入的列表进行排序并输出。
摘要由CSDN通过智能技术生成

任务描述

本关任务:学会列表排序相关操作的使用方法,实现对列表元素的排序。

一般情况下我们创建的列表中的元素可能都是无序的,但有些时候我们需要对列表元素进行排序。

例如,对参加会议的专家名单,我们需要根据专家姓名按照首字母从小到大或者从大到小的顺序进行排序。

例如我们想将如下的客人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:列表排序函数的语法关键词

  • reversesort函数的可选参数,如果设置其值为True,则进行反向从大到小排序,如果设置为False或者不填写该参数,则默认进行正向从小到大排序。

例如,给定一个客人列表guests,我们对其按照字母排序如下:

 
  1. guests = ['zhang san','li si','wang wu','sun qi','qian ba']
  2. guests.sort()
  3. print(guests)
  4. guests.sort(reverse=True)
  5. print(guests)

程序输出结果:

['li si','qian ba','sun qi','wang wu','zhang san']

['zhang san','wang wu','sun qi','qian ba','li si']

 
  1. 注意,sort函数会直接作用于待排序的列表并修改其排序

如果您想了解更多有关列表操作知识,请参考:【美】Eric Matthes著《Python编程——从入门到实践》第三章。

编程要求

本关的编程任务是补全src/step2/sortTest.py 文件中的函数部分,要求实现对输入列表source_list中的元素按照首字母从小到大的顺序进行排序,并且输出排序后的列表。

本关涉及的代码文件src/step2/sortTest.py 的代码框架如下:

 
  1. #coding=utf-8
  2. # 创建并初始化`source_list`列表
  3. source_list = []
  4. while True:
  5. try:
  6. list_element = input()
  7. source_list.append(list_element)
  8. except:
  9. break
  10. # 请在此添加代码,对guests列表进行排序等操作并打印输出排序后的列表
  11. #********** Begin *********#
  12. #********** End **********#

评测说明

本关的测试文件是src/Step2/sortTest.py,测试过程如下:

  1. 平台自动编译并运行sortTest.py,并以标准输入方式提供测试输入;

  2. 平台获取程序输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。

以下是平台对src/Step2/sortTest.py的样例测试集:

测试输入:

 
  1. zhang san
  2. li si
  3. wang wu
  4. tan qi
  5. hu ba

预期输出: ['hu ba', 'li si', 'tan qi', 'wang wu', 'zhang san']

source_list = []                            # 定义新列表
while True:               
    try:      
        list_element = input()              # 定义新的输入变量   
        source_list.append(list_element)    # 将list_element读入列表中
    except:    
        break
    
source_list.sort()                          # 排序source_list
print(source_list)                          # 打印输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值