按照多个字符串类型属性对对象数组进行排序
创始人
2024-08-23 20:30:15
0

以下是一个示例代码,演示了如何按照多个字符串类型属性对对象数组进行排序:

class Person:
    def __init__(self, name, age, city):
        self.name = name
        self.age = age
        self.city = city

    def __repr__(self):
        return f"Person(name='{self.name}', age={self.age}, city='{self.city}')"

# 将对象数组按照多个字符串类型属性排序
def sort_people(people, *properties):
    for prop in reversed(properties):
        people.sort(key=lambda x: getattr(x, prop))

# 创建一些示例对象
people = [
    Person('Alice', 25, 'New York'),
    Person('Bob', 30, 'London'),
    Person('Charlie', 20, 'Paris'),
    Person('Dave', 25, 'New York')
]

# 按照城市和年龄排序对象数组
sort_people(people, 'city', 'age')

# 打印排序后的结果
for person in people:
    print(person)

运行以上代码,输出结果如下:

Person(name='Bob', age=30, city='London')
Person(name='Charlie', age=20, city='Paris')
Person(name='Alice', age=25, city='New York')
Person(name='Dave', age=25, city='New York')

在示例中,我们定义了一个 Person 类来表示人员,它有三个属性:nameagecity。然后,我们定义了一个 sort_people 函数,它接受一个对象数组和多个字符串类型的属性作为参数。函数使用 getattr 函数获取对象的属性值,并使用 lambda 函数作为排序的关键字函数。最后,我们创建了一些示例对象,并调用 sort_people 函数对对象数组进行排序,然后打印排序后的结果。

相关内容

热门资讯

今日头条!wepoker俱乐部... 今日头条!wepoker俱乐部开挂,智星德州插件怎么下载,软件教程(真的有挂);亲,有的,ai轻松简...
解密关于!wepoker俱乐部... 解密关于!wepoker俱乐部开挂,天天互娱网络科技(总是存在有挂)1、点击下载安装,天天互娱网络科...
盘点几款!微乐辅助软件购买平台... 盘点几款!微乐辅助软件购买平台,sohoo竞技联盟辅助器,2025新版总结(有挂总结);【福星临门,...
推荐攻略!海米大厅辅助,山西扣... 推荐攻略!海米大厅辅助,山西扣点子的技巧(其实是有挂)1、完成山西扣点子的技巧有辅助插件,帮助玩家取...
一起来讨论!长城互娱辅助,德普... 一起来讨论!长城互娱辅助,德普之星app安卓版破解版,必赢教程(有挂方针);相信小伙伴都知道这个长城...
必看攻略!小逸碰胡辅助器,微信... 必看攻略!小逸碰胡辅助器,微信小程序辅助器(一直真的有挂)1、打开软件启动之后找到中间准星的标志长按...
玩家交流!潮汕激k脚本,红龙p... 玩家交流!潮汕激k脚本,红龙poker辅助,技巧教程(的确有挂);大家肯定在之前潮汕激k脚本或者潮汕...
一分钟揭秘!好玩贰柒拾辅助,手... 一分钟揭秘!好玩贰柒拾辅助,手游辅助软件(一直存在有挂)1、很好的工具软件,可以解锁游戏的好玩贰柒拾...
科技介绍!开心十三张有没有挂,... 科技介绍!开心十三张有没有挂,wepoker开脚本视频,攻略教程(有挂头条);开心十三张有没有挂软件...
重大通报!创思维激k透视挂,如... 重大通报!创思维激k透视挂,如何设置钱塘十三水辅助器(本来存在有挂)1、任何如何设置钱塘十三水辅助器...