Python排序功能进阶

sortedsort()
li = [9, 1, 8, 2, 7, 3, 6, 4, 5]

s_li = sorted(li)

print ('Sorted Variable: \t', s_li)

li.sort()

print ('Original Variable: \t', li)

输出结果:

Sorted Variable: [1, 2, 3, 4, 5, 6, 7, 8, 9]
Original Variable: [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果:

li = [9, 1, 8, 2, 7, 3, 6, 4, 5]

s_li = li.sort()

print(s_li)

输出的结果是:

None

Tuple不能使用sort(),只能定义一个新的变量=sorted(a_tuple)

class Employee():
    def __init__(self, name, age, salary):
        self.name = name
        self.age = age
        self.salary = salary

    def __repr__(self):
        return '({},{},${})'.format(self.name, self.age, self.salary)

e1 = Employee('Carl', 37, 70000)
e2 = Employee('Sarah', 29, 80000)
e3 = Employee('John', 43, 90000)

employees = [e1, e2, e3]


def e_sort(emp):
    return emp.name

s_employees = sorted(employees, key=e_sort)

print(s_employees)

或者利用lambda函数:

s_employees = sorted(employees, key=lambda e: e.name)

或者使用operator模块中的attrgetter

s_employees = sorted(employees, key=attrgetter('age'))

转载于:https://www.cnblogs.com/yaos/p/7050503.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值