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'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: EDCBA2. 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 Baweja3. 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): cdvae4. 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) # 17. 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,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 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 anagram12. 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 always13. 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: e14. Check an object's memory usage
import sys
num = 21
print(sys.getsizeof(num))
# In Python 3, typically 28 bytes15. 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.21789550781217. 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 duplicatesThese twenty snippets demonstrate concise, idiomatic Python patterns that can be directly applied to everyday programming tasks, helping developers write cleaner, 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.