相关文章推荐
爱看球的围巾  ·  zmq使用-掘金·  10 月前    · 
冷冷的四季豆  ·  VBA ...·  1 年前    · 
侠义非凡的大象  ·  java.lang.ClassNotFoun ...·  1 年前    · 

python升序排序不用sort

如果你需要对一个 Python 列表进行升序排序,但不想使用 sort 函数,你可以使用 Python 内置的 sorted 函数。该函数返回一个新的已排序列表,而不会修改原始列表。以下是一个示例代码:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_list = sorted(my_list)
print(sorted_list)
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

如果你需要按照列表中元素的某个属性进行排序,你可以传递一个关键字函数(key function)给 sorted 函数,该函数将返回用于排序的关键字。以下是一个示例代码:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
people = [
    Person("Alice", 25),
    Person("Bob", 20),
    Person("Charlie", 30),
    Person("David", 25)
sorted_people = sorted(people, key=lambda p: p.age)
for person in sorted_people:
    print(person.name, person.age)
Bob 20
Alice 25
David 25
Charlie 30

在上面的代码中,我们定义了一个 Person 类,该类有两个属性 nameage,表示人的姓名和年龄。我们创建了一个包含四个 Person 对象的列表 people,并使用 sorted 函数按照人的年龄进行排序,从而得到一个新的已排序列表 sorted_people。最后,我们遍历 sorted_people 列表,并打印每个人的姓名和年龄。排序结果表明,Bob 年龄最小,Charlie 年龄最大。

  • Sort 排序
  •