Fundamentals 9 min read

20 Essential Python Tricks for Improving Code Readability and Efficiency

This article presents twenty practical Python techniques—including string reversal, title casing, unique element extraction, list multiplication, dictionary merging, and performance timing—that enhance code readability, simplify common tasks, and boost development efficiency for programmers seeking to write cleaner, more effective Python scripts.

Python Programming Learning Circle
Python Programming Learning Circle
Python Programming Learning Circle
20 Essential Python Tricks for Improving Code Readability and Efficiency

Python's readability and simplicity are two major reasons for its popularity. This guide introduces 20 common Python tricks that improve code readability and can help you save a lot of time in everyday coding.

1. String reversal

# Reversing a string using slicing
my_string = "ABCDE"
reversed_string = my_string[::-1]
print(reversed_string)
# Output: EDCBA

2. Capitalize the first letter of each word

my_string = "my name is chaitanya baweja"
new_string = my_string.title()
print(new_string)
# Output: My Name Is Chaitanya Baweja

3. Find unique characters in a string

my_string = "aavvccccddddeee"
temp_set = set(my_string)
new_string = ''.join(temp_set)
print(new_string)
# Output (order may vary): cdvae

4. Repeat a string or list n times

n = 3
my_string = "abcd"
my_list = [1,2,3]
print(my_string * n)   # abcdabcdabcd
print(my_list * n)     # [1,2,3,1,2,3,1,2,3]

5. List comprehension to multiply each element by 2

original_list = [1,2,3,4]
new_list = [2*x for x in original_list]
print(new_list)
# Output: [2,4,6,8]

6. Variable swapping

a = 1
b = 2
a, b = b, a
print(a)  # 2
print(b)  # 1

7. Split a string into a list of substrings

string_1 = "My name is Chaitanya Baweja"
print(string_1.split())
# Output: ['My', 'name', 'is', 'Chaitanya', 'Baweja']

string_2 = "sample/ string 2"
print(string_2.split('/'))
# Output: ['sample', ' string 2']

8. Join a list of strings into a single string

list_of_strings = ['My','name','is','Chaitanya','Baweja']
print(','.join(list_of_strings))
# Output: My,name,is,Chaitanya,Baweja

9. Check if a string is a palindrome

my_string = "abcba"
if my_string == my_string[::-1]:
    print("palindrome")
else:
    print("not palindrome")
# Output: palindrome

10. Count the frequency of elements in a list

from collections import Counter
my_list = ['a','a','b','b','b','c','d','d','d','d','d']
count = Counter(my_list)
print(count)
# Output: Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1})
print(count['b'])
# Output: 3
print(count.most_common(1))
# Output: [('d', 5)]

11. Determine if two strings are anagrams

from collections import Counter
str_1, str_2, str_3 = "acbde", "abced", "abcda"
cnt_1, cnt_2, cnt_3 = Counter(str_1), Counter(str_2), Counter(str_3)
if cnt_1 == cnt_2:
    print('1 and 2 anagram')
if cnt_1 == cnt_3:
    print('1 and 3 anagram')
# Output: 1 and 2 anagram

12. Use try‑except‑else‑finally for exception handling

a, b = 1, 0
try:
    print(a / b)
except ZeroDivisionError:
    print("division by zero")
else:
    print("no exceptions raised")
finally:
    print("Run this always")
# Output:
# division by zero
# Run this always

13. Enumerate a list to get index/value pairs

my_list = ['a','b','c','d','e']
for index, value in enumerate(my_list):
    print('{0}: {1}'.format(index, value))
# Output:
# 0: a
# 1: b
# 2: c
# 3: d
# 4: e

14. Check an object's memory usage

import sys
num = 21
print(sys.getsizeof(num))
# In Python 3, typically 28 bytes

15. Merge two dictionaries

dict_1 = {'apple': 9, 'banana': 6}
dict_2 = {'banana': 4, 'orange': 8}
combined_dict = {**dict_1, **dict_2}
print(combined_dict)
# Output: {'apple': 9, 'banana': 4, 'orange': 8}

16. Measure execution time of a code block

import time
start_time = time.time()
for i in range(10**5):
    a, b = 1, 2
    c = a + b
end_time = time.time()
time_taken_in_micro = (end_time - start_time) * (10**6)
print(time_taken_in_micro)
# Example output: 18770.217895507812

17. Flatten a nested list (one‑level)

def flatten(l):
    return [item for sublist in l for item in sublist]

l = [[1,2,3],[3]]
print(flatten(l))
# Output: [1, 2, 3, 3]

18. Flatten a deeply nested list using iteration_utilities

from iteration_utilities import deepflatten
l = [[1,2,3],[4,[5]],[6,7]],[8,[9,[10]]]
print(list(deepflatten(l, depth=3)))
# Output: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

19. Randomly sample elements from a list

import random
my_list = ['a','b','c','d','e']
num_samples = 2
samples = random.sample(my_list, num_samples)
print(samples)
# Example output: ['a', 'e'] (any two random values)

20. Convert an integer into a list of its digits

num = 123456
# Using map
list_of_digits = list(map(int, str(num)))
print(list_of_digits)
# Output: [1, 2, 3, 4, 5, 6]

# Using list comprehension
list_of_digits = [int(x) for x in str(num)]
print(list_of_digits)
# Output: [1, 2, 3, 4, 5, 6]

21. Check list element uniqueness

def unique(l):
    if len(l) == len(set(l)):
        print("All elements are unique")
    else:
        print("List has duplicates")

unique([1,2,3,4])   # All elements are unique
unique([1,1,2,3])   # List has duplicates

These twenty snippets demonstrate concise, idiomatic Python patterns that can be directly applied to everyday programming tasks, helping developers write cleaner, more efficient code.

programmingreadabilitycodetips
Python Programming Learning Circle
Written by

Python Programming Learning Circle

A global community of Chinese Python developers offering technical articles, columns, original video tutorials, and problem sets. Topics include web full‑stack development, web scraping, data analysis, natural language processing, image processing, machine learning, automated testing, DevOps automation, and big data.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.