Fundamentals 10 min read

20 Essential Python Tricks to Boost Code Readability and Efficiency

This article presents twenty practical Python techniques—including string reversal, list comprehensions, dictionary merging, and performance timing—that enhance code readability, simplify common tasks, and improve efficiency for developers seeking to write cleaner, more effective Python scripts.

Python Programming Learning Circle
Python Programming Learning Circle
Python Programming Learning Circle
20 Essential Python Tricks to Boost Code Readability and Efficiency

Python's readability and simplicity are two major reasons for its popularity; this article introduces twenty common Python tricks that improve code readability and help you save a lot of time in everyday coding.

1. String Reversal

Use slicing to reverse a string:

# Reversing a string using slicing

my_string = "ABCDE"
reversed_string = my_string[::-1]

print(reversed_string)
# Output
# EDCBA

2. Capitalize First Letter of Each Word

Use the title() method:

my_string = "my name is chaitanya baweja"

# using the title() function of string class
new_string = my_string.title()

print(new_string)
# Output
# My Name Is Chaitanya Baweja

3. Find Unique Characters in a String

Convert the string to a set and join back:

my_string = "aavvccccddddeee"

# converting the string to a set
temp_set = set(my_string)

# stitching set into a string using join
new_string = ''.join(temp_set)

print(new_string)
# output
# cdvae

4. Repeat a String or List N Times

Use the multiplication operator * :

n = 3  # number of repetitions

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 (Multiply Each Element by 2)

# Multiplying each element in a list by 2

original_list = [1,2,3,4]
new_list = [2*x for x in original_list]

print(new_list)
# [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 Sub‑strings

string_1 = "My name is Chaitanya Baweja"
string_2 = "sample/ string 2"

# default separator ' '
print(string_1.split())
# ['My', 'name', 'is', 'Chaitanya', 'Baweja']

# defining separator as '/'
print(string_2.split('/'))
# ['sample', ' string 2']

8. Join Multiple Strings into One

list_of_strings = ['My', 'name', 'is', 'Chaitanya', 'Baweja']

print(','.join(list_of_strings))
# 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 Occurrences of Elements in a List

# finding frequency of each element 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)               # Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1})
print(count['b'])          # 3
print(count.most_common(1))# [('d', 5)]

11. Determine if Two Strings are Anagrams

Use Counter to compare character frequencies:

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. Try‑Except‑Else‑Finally Block

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 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))
# 0: a
# 1: b
# 2: c
# 3: d
# 4: e

14. Check Object Memory Usage

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

15. Merge Dictionaries

dict_1 = {'apple': 9, 'banana': 6}
dict_2 = {'banana': 4, 'orange': 8}

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

16. Measure Execution Time of a Code Block

import time

start_time = time.time()
# Code to check follows
for i in range(10**5):
    a, b = 1,2
    c = a + b
# Code to check ends
end_time = time.time()
time_taken_in_micro = (end_time - start_time) * (10**6)
print(time_taken_in_micro)
# output example: 18770.217895507812

17. List Flattening

# Simple flatten for one‑level nested list
def flatten(l):
    return [item for sublist in l for item in sublist]

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

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

18. Random Sampling from a List

import random
my_list = ['a','b','c','d','e']
num_samples = 2
samples = random.sample(my_list, num_samples)
print(samples)  # e.g., ['a', 'e']

19. Convert an Integer to a List of Digits

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

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

20. Check Uniqueness of List Elements

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 Python tricks cover a range of everyday programming tasks, from string manipulation and list operations to performance measurement and error handling, helping developers write cleaner and more efficient code.

Pythonprogrammingexamplescodetips
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.