>>> data = [
... (1, 0),
... (1, 1),
... (1, 2),
... (0, 0),
... (2, 0),
... ]
>>> data.sort(key=lambda (a, b): (a, -b))
>>> data
[(0, 0), (1, 2), (1, 1), (1, 0), (2, 0)]
。第2の基準については、単純な大/小ではない。これは、もしスタートのラインに沿って==「特定」だ、-1を返し
を比較して、簡単な<にそれらを回す方法でタプルの後の項目では、あなたの特別な値を使用してください==、または>:
チケット[「スタート」]は、「特定」である-1の代わりにチケットの使用されている項目[「何とか」]のために今 def ticket_key(ticket):
start = ticket["start"]
if start == "specific":
second = -1
else:
second = ticket["blah"]
return (start, second)
tickets.sort(key=ticket_key)
:あなたはソート基準についての詳細情報を追加する必要があります
>>> data = [
... {"start": "specific"}, # "blah" doesn't even exist here
... {"start": "specific", "blah": 2},
... {"start": "42", "blah": 1},
... {"start": "42", "blah": 0},
... ]
>>> data.sort(key=ticket_key)
>>> data
[{'start': '42', 'blah': 0},
{'start': '42', 'blah': 1},
{'start': 'specific'},
{'start': 'specific', 'blah': 2}]
あなたが必要です。解は 'key = lambda x:...'のようなものでなければなりません。 –