CodeSalt | Python解决按学生年龄排序的实际问题

Python实现学生年龄排序:冒泡VS内建方法
本文通过一个面试问题介绍如何使用Python对包含学生对象的列表按年龄排序。分别探讨了冒泡排序和使用内置`sorted`函数结合`lambda`表达式的实现方式,并对两者进行了性能测试,结果显示`sorted`方法在大规模数据下表现出更好的效率。

Python解决按学生年龄排序的实际问题

问题:定义一个Class:包含姓名name、性别gender、年龄age,需要按年龄给学生排序。
输入:包含学生对象的List
输出:按照年龄age进行排序好的List

思路1:使用冒泡排序,比较相邻的学生,如果第一个学生的age值比第二个学生的age值大,那么就整体交换这两个元素。持续每次对越来越少的元素重复上面的步骤。一直到没有任何一对学生需要比较。
思路2:使用Python內建方法sorted()

(这个问题其实是笔者面试时候手写的一个实际问题,比较面向小白,我们可以通过这样一个简单的问题复习Python的一些基础知识点)

1. 前期准备

1.1 定义Class

class Student(object):
    def __init__(self, name, gender, age):
        self.__name = name
        self.__gender = gender
        self.__age = age
    
    # 取得age属性
    def getAge(self):
        return self.__age
    
    # 打印
    def printStudent(self):
        return self.__name, self.__gender, self.__age

1.2 生成包含随机学生对象的List

# 生成包含随机学生对象的list
def generateStudent(num):
    # num为需要生成的测试对象数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值