【发布时间】:2018-02-24 09:44:54
【问题描述】:
我正在为某些值(例如名称、价格、库存和评级)抓取网站,并且一直在使用这些功能
my_products.sort(key = lambda x: x.return_name())
my_products.sort(key = lambda x: x.return_price())
my_products.sort(key = lambda x: x.return_rating())
my_products.sort(key = lambda x: x.return_stock())
对它们进行排序。这一切都很好,花花公子,除了它没有对价格进行数字排序,它将它们列为 1000、1500、20、200、2000、2500。这并不是我想要的。如何更改这种排序行为?
每个产品的类别:
class Product():
__title = ""
__price = ""
__rating =""
__stock = ""
def __init__(self,title, price, rating, stock):
self.__title = title
self.__price = price
self.__rating = rating
self.__stock = stock
def toString(self):
return "Title: {}\nPrice: {}\nRating: {}\nStock: {}\n".format( self.__title,
self.__price,
self.__rating,
self.__stock)
def return_price(self):
return self.__price
def return_name(self):
return self.__title
def return_rating(self):
return self.__rating
def return_stock(self):
return self.__stock
【问题讨论】:
标签: python python-3.x sorting object web-scraping