7 Usefull Python Tips & Tricks

Onur Uğur
3 min readAug 14, 2023

--

Python, often hailed as one of the most versatile and beginner-friendly programming languages, is packed with features that can surprise even seasoned developers. While its simplicity is often its most celebrated feature, there are numerous hidden gems that can make your code more efficient and readable. In this article, we’ll delve into seven such Python tips and tricks that can elevate your coding skills.

1. Using else with a for loop

Most programmers are familiar with using the else clause alongside if statements. However, Python allows the use of else with a for loop. The twist? The code inside the else block will only execute if the loop completes without encountering a break statement. This can be particularly useful when searching for an item in a list and wanting to execute a specific block of code if the item isn't found.

for i in range(5):
if i == 10:
break
else:
print("Loop completed without a break!")

2. List Comprehensions with Conditional Filtering

List comprehensions are a concise way to create lists. By combining them with conditionals, you can filter out unwanted elements, making your code more readable and efficient. For instance, extracting even numbers from a list becomes a one-liner, eliminating the need for multi-line loops.

numbers = [1, 2, 3, 4, 5]
evens = [x for x in numbers if x % 2 == 0]
print(evens) # It will print [2, 4]

3. Using enumerate for Index and Value

When iterating over a list, sometimes you need both the index and the value of each item. Instead of using the cumbersome range(len(list)), enumerate offers a cleaner and more Pythonic approach, returning both the index and the value in a tuple.

names = ["Alice", "Bob", "Charlie"]
for index, name in enumerate(names):
print(f"Index: {index}, Name: {name}")

4. Using all and any for Iterables

Python’s built-in functions all and any are powerful tools for evaluating the truthiness of iterables. While all checks if every element is true, any checks if at least one element is true. These functions can simplify complex conditional checks, making the code more readable.

nums = [1, 3, 5, 7]
print(all(x > 0 for x in nums)) # True
print(any(x % 2 == 0 for x in nums)) # False

5. Merging Dictionaries

Merging dictionaries is a common operation. With Python 3.5 and above, the ** unpacking operator provides a concise way to merge two dictionaries. This method is not only shorter but also allows for easy overriding of duplicate keys.

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
merged = {**dict1, **dict2}
print(merged) # {'a': 1, 'b': 3, 'c': 4}

6. Using collections.Counter for Frequency Count

Counting the frequency of items in a list can be a repetitive task. The Counter class from the collections module streamlines this process, returning a dictionary with items as keys and their frequencies as values. It's a quick and efficient way to analyze data.

from collections import Counter

colors = ["red", "blue", "red", "green", "blue", "blue"]
freq = Counter(colors)
print(freq) # Counter({'blue': 3, 'red': 2, 'green': 1})

7. Using defaultdict for Default Dictionary Values

Traditional dictionaries throw a KeyError if you try to access a non-existent key. The defaultdict, however, allows you to specify a default value for the dictionary, eliminating the need for manual error-checking and making your code more robust.

from collections import defaultdict

d = defaultdict(int)
d["key1"] += 1
print(d["key1"]) # 1
print(d["key2"]) # 0, since default is int (which is 0)

Python’s vast array of features ensures that there’s always something new to learn and implement. The tips and tricks discussed in this article are just the tip of the iceberg. By embracing these techniques, you can write cleaner, more efficient, and more Pythonic code. As you continue your Python journey, always be on the lookout for such gems that can refine your coding prowess.

--

--

Onur Uğur
Onur Uğur

Written by Onur Uğur

Unlock your potential with productivity and passive income tips. Discover the power of Notion and AI tools achieve financial freedom. Let's thrive together!

No responses yet