unnecessary-call-around-sorted (C413)
Derived from the flake8-comprehensions linter.
Fix is always available.
What it does
Checks for unnecessary list()
or reversed()
calls around sorted()
calls.
Why is this bad?
It is unnecessary to use list()
around sorted()
, as the latter already
returns a list.
It is also unnecessary to use reversed()
around sorted()
, as the latter
has a reverse
argument that can be used in lieu of an additional
reversed()
call.
In both cases, it's clearer and more efficient to avoid the redundant call.
Example
Use instead:
Fix safety
This rule's fix is marked as unsafe for reversed()
cases, as reversed()
and reverse=True
will yield different results in the event of custom sort
keys or equality functions. Specifically, reversed()
will reverse the order
of the collection, while sorted()
with reverse=True
will perform a stable
reverse sort, which will preserve the order of elements that compare as
equal.
The fix is marked as safe for list()
cases, as removing list()
around
sorted()
does not change the behavior.