Вы можете просто sort
это использовать keyfunc
, который возвращает index 1
и index 2
элемент, преобразованный в int
,
>>> x
[('Job 1', '3', '1'), ('Job 2', '1', '3'), ('Job 3', '2', '3'), ('Job 4', '4', '3')]
>>> sorted(x, key=lambda x: (int(x[1]), int(x[2])))
[('Job 2', '1', '3'), ('Job 3', '2', '3'), ('Job 1', '3', '1'), ('Job 4', '4', '3')]
>>> y = _
>>> for i in x:
... print(i)
...
('Job 1', '3', '1')
('Job 2', '1', '3')
('Job 3', '2', '3')
('Job 4', '4', '3')
>>> for j in y:
... print(j)
...
('Job 2', '1', '3')
('Job 3', '2', '3')
('Job 1', '3', '1')
('Job 4', '4', '3')
>>>