私はこれに恥ずかしいほど長い時間を費やしましたが、本当にどこも速くはありません。複数のクラスオブジェクトのリストを値で並べ替える
辞書の1つのキーから取得した複数のクラス値のリストをソートする必要があります。 リストは、リスト要素の数が可変で、このようになります。各クラスのオブジェクトで
[<__main__.OrderRecord object at 0x02D357D0>, <__main__.OrderRecord object at 0x02D35850>]
要素がこの中に含まれていますので、
class OrderRecord:
"""The OrderRecord class
Data attributes: date of type str
location of type str
name of type str
colour of type str
ordernum of type int
cost of type int
"""
def __init__(self, file_line):
"""Takes a given file line and initialises an OrderRecord instance"""
split_file = file_line.split(",")
self.date = split_file[0]
self.location = split_file[1]
self.name = split_file[2]
self.colour = split_file[3]
self.ordernum = split_file[4]
self.costs = self.cost_of_order()
私はクラスのオブジェクトのリストを取得しようとしているが、「ordernum」などの低番号を昇順で所定の位置にソートします最初。これはクラスオブジェクトの4番目のインデックスです。うまくいけば私はすべての関連情報をここに含めた。
)
e.ordernum
が既に整数型であると仮定。 – alecxe@alecxeあなたは 'the_list.sort(key = lambda e:e.attrgetter( 'ordernum'))'を意味しますか?これは何の利益ですか(正直な質問、アイロニーは意図されていません)?決して気にしない、私は今それを手に入れて編集している。あなたは 'ordernum'が既に整数である場合にのみそれを行うことができますが、それは本当にきれいです(そして同時に私のタイプミスを修正しました:) –