Учитывая следующие классы:
class Comparison():
def __init__(self, value):
self.value = value
self.rank = 0
class Comparisons(dict):
def __init__(self):
super(Comparisons, self).__init__()
def rank(self):
# Method to examine each Comparison instance and
# assign Comparison.rank based on Comparison.value
Как эффективный способ для метода rank()
для проверки объектов и присвоения ранга? Например:
comparisons = Comparisons()
# store some Comparison instances
comparisons['one'] = Comparison(10)
comparisons['two'] = Comparison(5)
comparisons['three'] = Comparison(1)
# function to rank the comparisons
comparisons.rank()
print(comparisons['one'].rank)
print(comparisons['two'].rank)
print(comparisons['three'].rank)
Возвращает:
3
2
1
Если метод rank()
может обрабатывать связи, это будет еще более выгодно.