如何在python中基于sort函数对业务id进行排序

2024-05-29 04:50:06 发布

您现在位置:Python中文网/ 问答频道 /正文

例如:

enter code here
businesses: [
    Business(id=1, rating=4.0, vegan_friendly=True, price=4, distance=10.0),
    Business(id=2, rating=2.5, vegan_friendly=False, price=2, distance=5.0),
    Business(id=3, rating=4.5, vegan_friendly=False, price=1, distance=1.0),
    Business(id=4, rating=3.0, vegan_friendly=True, price=2, distance=3.4),
    Business(id=5, rating=4.5, vegan_friendly=true, price=1, distance=6.3),
    Business(id=6, rating=3.5, vegan_friendly=True, price=2, distance=1.2),
]

根据id将评级从高到低排序


Tags: idfalsetruehere排序codebusinessprice
2条回答
# To sort the list in place...
businesses.sort(key=lambda x: x.id, reverse=True)

# To return a new list, use the sorted() built-in function...
newlist = sorted(businesses, key=lambda x: x.id, reverse=True)

您可以使用python内置方法sorted并提供排序key

businesses = [
    Business(id=1, rating=4.0, vegan_friendly=True, price=4, distance=10.0),
    Business(id=2, rating=2.5, vegan_friendly=False, price=2, distance=5.0),
    Business(id=3, rating=4.5, vegan_friendly=False, price=1, distance=1.0),
    Business(id=4, rating=3.0, vegan_friendly=True, price=2, distance=3.4),
    Business(id=5, rating=4.5, vegan_friendly=true, price=1, distance=6.3),
    Business(id=6, rating=3.5, vegan_friendly=True, price=2, distance=1.2),
]
businesses_sorted = sorted(businesses, key=lambda business: business.id)

要反转列表,请使用reverse标志:

businesses_sorted_reversed = sorted(businesses, key=lambda business: business.id, reverse=True)

相关问题 更多 >

    热门问题