Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,844 questions

55,671 answers

573 users

How to find the K smallest numbers in an unsorted list with Python

1 Answer

0 votes
import heapq
 
def k_smallest_numbers(lst, k):
    if not isinstance(lst, list) or not all(isinstance(x, (int, float)) for x in lst):
        raise ValueError("nums must be a list of numbers")
    if not isinstance(k, int) or k < 0:
        raise ValueError("k must be a non-negative integer")
    if k == 0:
        return []
         
    return heapq.nsmallest(k, lst)
 
 
lst = [42, 29, 90, 21, 90, 88, 37, 45]
k = 3
print(k_smallest_numbers(lst, k))
 
 
 
"""
run:
 
[21, 29, 37]
 
"""

 



answered Nov 12, 2025 by avibootz
edited Nov 12, 2025 by avibootz
...