From 7095e718edfc98abd410e2e26472dee7a6d4c73b Mon Sep 17 00:00:00 2001 From: Oleksandr Kravets <73752159+olekskrav@users.noreply.github.com> Date: Wed, 17 Sep 2025 18:48:16 -0400 Subject: [PATCH] removing redundant slicing in heapq.py If n >= size == len(iterable), then there is no need to do slicing -- it would return the same list. Currently, it just creates a duplicate copy of the same list. --- Lib/heapq.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/heapq.py b/Lib/heapq.py index 17f62dd2d5839b..f944376bcd291f 100644 --- a/Lib/heapq.py +++ b/Lib/heapq.py @@ -494,7 +494,7 @@ def nsmallest(n, iterable, key=None): pass else: if n >= size: - return sorted(iterable, key=key)[:n] + return sorted(iterable, key=key) # When key is none, use simpler decoration if key is None: @@ -554,7 +554,7 @@ def nlargest(n, iterable, key=None): pass else: if n >= size: - return sorted(iterable, key=key, reverse=True)[:n] + return sorted(iterable, key=key, reverse=True) # When key is none, use simpler decoration if key is None: