Fundamentals 9 min read

20 Essential Python Tips to Improve Code Readability and Efficiency

This article presents twenty practical Python tricks—including string reversal, title casing, unique element extraction, list repetition, list comprehensions, variable swapping, splitting, joining, palindrome checking, frequency counting, anagram detection, exception handling, enumeration, dictionary merging, timing code execution, flattening, sampling, digit conversion, and uniqueness testing—to help developers write clearer, more efficient code.

Python Programming Learning Circle
Python Programming Learning Circle
Python Programming Learning Circle
20 Essential Python Tips to Improve Code Readability and Efficiency

Python's readability and simplicity are two major reasons for its popularity; this article introduces 20 common Python techniques that improve code readability and can save a lot of development time.

1. String reversal

# 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

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

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

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 for element-wise multiplication

# 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)
# 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"
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 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 occurrences 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

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

14. Check memory size of an object

import sys
num = 21
print(sys.getsizeof(num))
# 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)
# Output
# {'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)
# Example output
# 18770.217895507812

17. Flatten a nested list

from iteration_utilities import deepflatten

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]

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. 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)
# e.g., ['a', 'e'] (any two random values)

19. 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)
# [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

For further learning, readers are encouraged to scan the QR code in the original article to obtain free Python study resources, including e‑books, tutorials, project examples, and source code.

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