У меня есть следующий код, и я хочу сортировать значение металла в порядке убывания, я могу позвонить каждому из них, используя имя еды. имя, которое я дал для него. например, если я хочу назвать значение платины, я могу использовать «platinum.valuePerBar», отметить, что у меня есть свой собственный объект, который называется RIT_object, и я могу поместить тип каждого аргумента в класс, как вы можете видеть в кодеКак сортировать числа по убыванию в python?
from rit_object import * # rit_object class
class Metal(rit_object):
"""
Represents a single metal type, composed of:
:slot name (str): The name of the metal
:slot totalBars (int): The total number of bars
:slot weightPerBar (int): The weight of a single bar
:slot valuePerBar (int): The value of a single bar
:slot valuePerWeight (float): The value per weight of the metal
:slot barsTaken (int): The number of bars added to the satchel
"""
__slots__ = ('name' , 'totalBars' , 'valuePerBar' , 'weightPerBar' , 'barsTaken')
_types = (str , int , int, int, float, int)
def createMetal(name, totalBars, weightPerBar, valuePerBar):
"""
Create and return a new Metal object.
:param name (str): The name of the metal
:param totalBars (int): The total number of bars
:param weightPerBar (int): The weight of a single bar
:param valuePerBar (int): The value of a single bar
:return: A newly initialized Metal object
:rtype: Metal
"""
platinum = Metal("platinum", 1, 1000, 6, 0)
gold = Metal("gold", 1, 750, 5, 0)
rhodium = Metal("rhodium", 1, 500, 5, 0)
silver = Metal("silver", 1, 400, 4, 0)
def sortMetalsByValuePerBar(metals):
"""
Sort the metals by value per bar using insertion sort. The list of
metals is modified in place to be ordered by value per bar.
:param metals (list of Metal): The list of metals
:return: None
:rtype: NoneType
"""
Как я могу сортировать значение по убыванию?
Вы просмотрели функцию python [sort] (https://wiki.python.org/moin/HowTo/Sorting)? – GWW
Сортировка на месте 'def sortMetalsByValuePerBar (металлы): metals.sort (key = (lambda m: m.valuePerBar), reverse = True)'. Чтобы вернуть отсортированную копию 'def sortMetalsByValuePerBar (металлы): return sorted (металлы, key = (lambda m: m.valuePerBar), reverse = True)'. –
это не работает:/ –