Обложка канала

Библиотека Python разработчика

20835 @BookPython

Библиотека Python разработчика. Книги по программированию на Python.

Библиотека Python разработчика

4 года назад
Открыть в
To sort some sequence in Python you use sorted: In : sorted([1, -1, 2, -3, 3]) Out: [-3, -1, 1, 2, 3] With the key argument you can provide a function that will be used to get a comparison key of each value. Let's sort the same sequence by absolute values: In : sorted([1, -1, 2, -3, 3], key=abs) Out: [1, -1, 2, -3, 3] Let's suppose we also want to put the numbers with the same absolute value in ascending order. In that case, we can provide a tuple as a comparison key: In : sorted([1, -1, 2, -3, 3], key=lambda x: (abs(x), x)) Out: [-1, 1, 2, -3, 3] This is not some sorted magic, this is how tuples are sorted in general: In : (1, 2) == (1, 2) Out: True In : (1, 2) > (1, 1) Out: True In : (1, 2) < (2, 1) Out: True