Imp-Standard Libraries
1
math
sqrt()
, pow()
, floor()
, ceil()
, factorial()
, pi
, log()
For mathematical operations like square root, power, rounding, constants
math.sqrt(16) → 4.0
math.ceil(2.3) → 3
2
collections.Counter
Counter(iterable)
Count frequency of elements in a list or string
Counter('apple') → {'p':2, 'a':1, 'l':1, 'e':1}
3
collections.defaultdict
defaultdict(list/int/set)
Provides default values for missing keys
d = defaultdict(int); d['x'] += 1 → {'x':1}
4
collections.namedtuple
namedtuple('Point', ['x', 'y'])
Lightweight object-like tuple with named fields
p = Point(1,2); p.x → 1
5
collections.deque
append()
, appendleft()
, pop()
, popleft()
Fast and memory-efficient stack/queue
dq = deque([1,2]); dq.appendleft(0)
6
itertools.count()
count(start, step)
Infinite counter generator
for i in count(10, 2):
7
itertools.cycle()
cycle(iterable)
Repeats elements in a cycle
for i in cycle([1,2,3])
8
itertools.combinations
combinations(iterable, r)
Generate r-length combinations
list(combinations([1,2,3], 2)) → [(1,2), (1,3), (2,3)]
9
itertools.permutations
permutations(iterable, r)
Generate r-length permutations
list(permutations([1,2,3], 2)) → [(1,2), (1,3), (2,1), ...]
10
itertools.chain
chain(a, b, ...)
Flatten multiple iterables
list(chain([1,2], [3,4])) → [1,2,3,4]
11
String slicing
s[::-1]
, s[start:end:step]
Extract parts of string
'hello'[::-1] → 'olleh'
12
String methods
upper()
, lower()
, strip()
, replace()
, split()
, join()
Clean and transform strings
'Hello'.lower() → 'hello'
'-'.join(['a','b']) → 'a-b'
13
String formatting
f"{var}"
, .format()
Interpolating variables into strings
f"Hi {name}"
or "Hi {}".format(name)
14
re
(regex) (Optional)
findall()
, sub()
, search()
Pattern matching in strings
re.findall(r'\d+', 'abc123') → ['123']
1
datetime
datetime.now()
, timedelta
, strftime()
, strptime()
Working with date and time, formatting, date arithmetic
datetime.now().strftime("%Y-%m-%d") → '2025-04-17'
2
os
os.listdir()
, os.path.join()
, os.remove()
, os.getenv()
Interacting with the file system and environment variables
os.listdir('.') → ['file1.py', 'test.txt']
3
sys
sys.argv
, sys.exit()
, sys.path
Access to command-line args, Python path, and exit handling
sys.argv → ['script.py', 'arg1']
4
pathlib
Path('folder').exists()
, Path.glob('*.txt')
Modern, object-oriented file and path handling
from pathlib import Path; Path('.').glob('*.py')
5
re
search()
, match()
, findall()
, sub()
Regular expression for text search, validation, cleaning
re.findall(r'\d+', 'abc123') → ['123']
6
functools
lru_cache
, partial
, reduce()
Higher-order functions, caching, function composition
@lru_cache; reduce(lambda x,y:x+y, [1,2,3]) → 6
7
operator
itemgetter
, attrgetter
, add
, mul
Functional alternatives for common operators (sorting, arithmetic)
sorted(lst, key=itemgetter(1))
8
typing
List
, Dict
, Union
, Optional
Type hinting and static typing
def func(data: List[int]) → int:
9
enum
Enum
, auto()
Create readable and fixed constants
class Color(Enum): RED = auto()
10
json
json.load()
, json.dump()
, json.loads()
, json.dumps()
Parsing and serializing JSON data
json.loads('{"x":1}') → {'x': 1}
11
logging
basicConfig()
, info()
, warning()
, error()
, debug()
Better alternative to print for debugging
logging.info("Running script...")
12
random
random.random()
, randint()
, choice()
, shuffle()
Generate random numbers, shuffle sequences
random.choice([1,2,3])
13
statistics
mean()
, median()
, stdev()
Perform basic statistical analysis
statistics.mean([1, 2, 3]) → 2
14
heapq
heapify()
, heappush()
, heappop()
Efficient min-heap queue operations
heapq.heappop([1,3,2]) → 1
15
time
time()
, sleep()
, perf_counter()
Benchmarking and adding delays
time.sleep(1); time.time()
16
uuid
uuid.uuid4()
Generate universally unique identifiers (UUID)
str(uuid.uuid4()) → 'a1b2c3...xyz'
17
pprint
pprint()
Pretty-printing complex data structures
pprint(data)
for nested dicts
18
shutil
copy()
, move()
, rmtree()
File operations like copying and deleting folders
shutil.copy('a.txt', 'b.txt')
19
tempfile
NamedTemporaryFile()
, TemporaryDirectory()
Create temporary files and directories
with tempfile.TemporaryDirectory() as tmp:
20
traceback
traceback.print_exc()
Print or log complete error stack trace
traceback.print_exc()
Last updated