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'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
# EDCBA2. 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 Baweja3. 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
# cdvae4. 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) # 17. 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,Baweja9. Check if a String is a Palindrome
my_string = "abcba"
if my_string == my_string[::-1]:
print("palindrome")
else:
print("not palindrome")
# Output
# palindrome10. 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 anagram12. 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 always13. 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: e14. Check Object Memory Usage
import sys
num = 21
print(sys.getsizeof(num))
# In Python 2, 24
# In Python 3, 2815. 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.21789550781217. 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 duplicatesThese 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.
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.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.