10 Python Code Snippets For Everyday Programming Problems - GeeksforGeeks

01 Dec, 2021
In recent years, the Python programming language has seen a huge user base. One of the reasons could be that it is easier to learn as compared to other object-oriented programming languages like Java, C++, C#, JavaScript, and therefore more and more beginners who are entering the field of computer science are opting for Python. Another reason why the popularity of Python has shot up is that it is used in almost all domains of the IT industry, be it data science, machine learning, automation, web scraping, artificial intelligence, cyber-security, cloud computing, and what not! According to the recent developer survey, it is seen that Python is currently the second most loved programming language after JavaScript and will easily shoot up in the coming years. Demand for Python developers has significantly risen, especially in the past few months, and therefore learning Python could get you some really good career options.
So if you are a Python developer, this article is definitely for you. Today we are going to discuss Python code snippets with their brief explanation that are highly useful for developers and programmers in their day-to-day life. We will look at various coding problems that arise on a regular basis and how to solve them using the Python code snippets provided here. So let’s get started!
List comprehensions in Python are super helpful and powerful. They reduce the code length to a great length and make it more readable. In the following code, we can see that we are checking multiples of 6, and then multiples of 2 and 3 using the if-else conditions inside the list, which reduced the code to a great extent.
Python3
my_list = ['Multiple of 6' if i % 6 == 0            else 'Multiple of 2' if i % 2 == 0            else 'Multiple of 3' if i % 3 == 0            else i for i in range(1, 20)]print(my_list)
Output:
[1, ‘Multiple of 2’, ‘Multiple of 3’, ‘Multiple of 2’, 5, ‘Multiple of 6’, 7, ‘Multiple of 2’, ‘Multiple of 3’, ‘Multiple of 2’, 11, ‘Multiple of 6’, 13, ‘Multiple of 2’, ‘Multiple of 3’, ‘Multiple of 2’, 17, ‘Multiple of 6’, 19]
It may sound very confusing to merge two dictionaries or append them. But surprisingly, there is more than one method where you can merge two dictionaries. In the following code, the first method uses dictionary unpacking where the two dictionaries unpack together into result. In the second method, we first copy the first dictionary into the result and then update it with the content of the second dictionary. The third method is a straightforward implementation using dictionary comprehension, similar to what we saw in list comprehension above.
Python3
my_dict1 = {'a' : 1, 'b' : 2, 'c' : 3}my_dict2 = {'d' : 4, 'e' : 5, 'f' : 6}  # Method 1result = { **my_dict1, **my_dict2}print(result)  # Method 2result = my_dict1.copy()result.update(my_dict2)print(result)  # Method 3result = {key: value for d in (my_dict1, my_dict2) for key, value in d.items()}print(result)
Output:
{‘a’: 1, ‘b’: 2, ‘c’: 3, ‘d’: 4, ‘e’: 5, ‘f’: 6}
{‘a’: 1, ‘b’: 2, ‘c’: 3, ‘d’: 4, ‘e’: 5, ‘f’: 6}
{‘a’: 1, ‘b’: 2, ‘c’: 3, ‘d’: 4, ‘e’: 5, ‘f
File handling is used in various Python programs, especially the ones related to data where we need to read huge comma-separated values. File handling has various operations like opening a file, reading from a file, writing to a file, and closing a file.
Python3
# Open a filef = open('filename.txt')    # Read from a filef = open('filename.txt', 'r')  # To read the whole fileprint(f.read())  # To read single lineprint(f.readline())    # Write to a filef = open('filename.txt', 'w')f.write('Writing into a file \n')    # Closing a filef.close()
It is often necessary to optimize code and analyze performance metrics. Here, the time library comes to help. We can measure the runtime of our code and optimize it. We can also use it to measure the runtime of two pieces of code doing the same work so that we can choose the most optimized one. 
Python3
import time  start_time = time.time()  # printing all even numbers till 20for i in range(20):  if i % 2 == 0:    print(i, end = " ")  end_time = time.time()time_taken = end_time - start_timeprint("\nTime: ", time_taken)
Output:
0 2 4 6 8 10 12 14 16 18
Time:  2.47955322265625e-05
Sorting a list of dictionaries sounds daunting at first but we can do it using two different, yet similar approaches. We can simply use the in-built sorted() or sort() function which works on lists using a lambda function inside it which sorts the dictionaries based on their ‘id’ key. In the first method, the return type is None as the changes are in place, on the other hand, in the second method, a new list of sorted dictionaries is returned.
Python3
person = [  {    'name' : 'alice',    'age' : 22,    'id' : 92345  },  {    'name' : 'bob',    'age' : 24,    'id' : 52353  },  {    'name' : 'tom',    'age' : 23,    'id' : 62257  }]  # Method 1person.sort(key=lambda item: item.get("id"))print(person)  # Method 2person = sorted(person, key=lambda item: item.get("id"))print(person)
Output:
[{‘name’: ‘bob’, ‘age’: 24, ‘id’: 52353}, {‘name’: ‘tom’, ‘age’: 23, ‘id’: 62257}, {‘name’: ‘alice’, ‘age’: 22, ‘id’: 92345}]
[{‘name’: ‘bob’, ‘age’: 24, ‘id’: 52353}, {‘name’: ‘tom’, ‘age’: 23, ‘id’: 62257}, {‘name’: ‘alice’, ‘age’: 22, ‘id’: 92345}]
We can find the element, which occurs the maximum time, by passing the key as the count of elements, i.e., the number of times they appear. 
Python3
my_list = [8,4,8,2,2,5,8,0,3,5,2,5,8,9,3,8]print("Most frequent item:", max(set(my_list), key=my_list.count))
Output:
Most frequent item: 8
Error handling is the use of try-catch (and finally) to eradicate any possibilities of sudden stoppage while executing. The statement which can cause an error is put into a try block, which is followed by an except block which catches the exception (if any), and then we have the ‘finally’ block which executes no matter what and is optional. 
Python3
num1, num2 = 2,0try:    print(num1 / num2)except ZeroDivisionError:    print("Exception! Division by Zero not permitted.")finally:    print("Finally block.")
Output:
Exception! Division by Zero not permitted.
Finally block.
This is again a very common piece of code that Python programmers encounter very often. If we need to find substrings inside a list of strings (can also be applied on larger strings rather than just lists), we can use the find() method which returns -1 if the value is not present in the string, or returns the first occurrence. In the second method, we can directly use the in operator to see if the desired substring is present in the string.
Python3
records = [  "Vani Gupta, University of Hyderabad",  "Elon Musk, Tesla",  "Bill Gates, Microsoft",  "Steve Jobs, Apple"]  # Method 1name = "Vani"for record in records:    if record.find(name) >= 0:        print(record)  # Method 2name = "Musk"for record in records:    if name in record:        print(record)
Output:
Vani Gupta, University of Hyderabad
Elon Musk, Tesla
String formatting is used to format or modify strings. There are a lot of ways in which string formatting can be done. In the first method, we use basic concatenation which simply adds the strings together. In the second method, we use f-strings, where the variable name is written in braces and is replaced during runtime. Similar to the second method, we have the third method, where we use %s, where the s signifies that it is a string, and in the fourth method, we use the format() function which takes the string or variable to be inserted in the string as an argument and places it wherever it sees a curly brace.
Python3
language = "Python"  # Method 1print(language + " is my favourite programming language.")  # Method 2print(f"I code in {language}")  # Method 3print("%s is very easy to learn." % (language))  # Method 4print("I like the {} programming language.".format(language))
Output:
Python is my favourite programming language.
I code in Python
Python is very easy to learn.
I like the Python programming language.
To flatten or spread a list that contains other lists of variable lengths and numbers, we can use the append() and extend() methods and keep adding that to the new list. The difference between the two methods is that append() adds a single variable to the end of the list such that the length of the list increases by one whereas extends() adds all the elements in the list passed as argument one by one to the end of the original list.
Python3
ugly_list = [10,12,36,[41,59,63],[77],81,93]flat = []for i in ugly_list:    if isinstance(i, list): flat.extend(i)    else: flat.append(i)print(flat)
These were a few Python code snippets that come in regular use if you’re working with the Python programming language. Hope you found these useful!
GBlog
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Roadmap to Become a Web Developer in 2022
DSA Sheet by Love Babbar
Top 10 Angular Libraries For Web Developers
A Freshers Guide To Programming
Top 10 Programming Languages to Learn in 2022
Read JSON file using Python
Adding new column to existing DataFrame in Pandas
Python map() function
How to get column names in Pandas dataframe