Python 排序某个值
所以基本上有三个等级一个是X光,另一个等级,还有城镇。基本上,otherclass为每个对象创建数据属性,然后假设X射线读取文件,为每行的每个项目创建一个对象,并将其附加到self列表中。然后我必须创建一些函数来对数据进行排序。例如,我必须按身高对每个人进行分类。这就是我被卡住的地方,因为我怎么称呼它为基于高度的排序?所以基本上,当我说x=xrayfile,town,然后是x.sort1时,它会打印每个按高度排序的人。类用于对象,而不是将代码分组在一起。模块将代码分组在一起。这与其他一些语言(如Java)的工作方式不同 然而,按属性排序并不困难。试试这个:Python 排序某个值,python,class,sorting,Python,Class,Sorting,所以基本上有三个等级一个是X光,另一个等级,还有城镇。基本上,otherclass为每个对象创建数据属性,然后假设X射线读取文件,为每行的每个项目创建一个对象,并将其附加到self列表中。然后我必须创建一些函数来对数据进行排序。例如,我必须按身高对每个人进行分类。这就是我被卡住的地方,因为我怎么称呼它为基于高度的排序?所以基本上,当我说x=xrayfile,town,然后是x.sort1时,它会打印每个按高度排序的人。类用于对象,而不是将代码分组在一起。模块将代码分组在一起。这与其他一些语言(如
class otherclass:
def __init__(self,instance,town):
list=[]
for i in line.split(','):
list.append(i)
self.firstname = str(list[0])
self.height = int(list[1])
def__str__(self):
return '%s %d' %(self.firstname,self.height)
class xray(list):
def __init__(self, file, town):
self.file=open(file)
line=self.file.readlines()
line1= line[10:]
for g in line:
self.append(otherclass(g,town))
def sort1(self):
#sort function here
stdlib sort函数接受一个kwarg命名的键,该键接受一个函数来运行排序。在本例中,它遍历列表假人,拉出列表中的每个元素,将其指定给x,然后返回x.height。它根据键函数返回的值对元素进行排序,因此所有元素都将根据其高度进行排序
或者,您可以在对象中实现_cmp__
class Dummy(object):
def __init__(self,name,height):
self.name = name
self.height = height
Adam = Dummy("Adam",72)
Steve = Dummy("Steve",71)
user3521527 = Dummy("user3521527",90) # damn you're tall.
dummies = [Adam,Steve,user3521527]
sorted_dummies = sorted(dummies, key = lambda x: x.height)
你为什么转载这个?我想知道如何根据高度对我的输出进行排序,这不是我要问的。你发布了这个问题,得到了一些反对票,删除了那个帖子,并创建了一个新帖子。你为什么那样做?请不要那样做;有一些自动系统会对你的这种行为进行惩罚,社区也可能会对重新发布做出模糊的反应。哎哟,在我阅读评论之前,他写了一个冗长的回答,意识到他不值得这样做。该死
class Dummy(object):
def __init__(self,name,height):
self.name = name
self.height = height
def __cmp__(self,other):
"""self < other if self.height < other.height"""
if self.height < other.height: return -1
elif self.height == other.height: return 0
elif self.height > other.height: return 1
>>> Adam < Steve
True
>>> Adam < user3521527
False