DEV Community

Cover image for Python Code Snippets
Madhav Ganesan
Madhav Ganesan

Posted on

5 1 1 1 1

Python Code Snippets

Arrays

Lists

# Creating a list
my_list = []
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# List of different data types
mixed_list = [1, "hello", 3.14, True]

# Accessing elements
print(my_list[0])  # Output: 1
print(my_list[-1]) # Output: 5

# Append to the end
my_list.append(6)

# Insert at a specific position
my_list.insert(2, 10)

# Find an element in an array
index=my_list.find(element)

# Remove by value
my_list.remove(10)

# Remove by index
removed_element = my_list.pop(2)

# Length of the list
print(len(my_list))

# Slicing [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# sequence[start:stop:step]

print(my_list[1:4])  # Output: [1, 2, 3]
print(my_list[5:])  # Output: [5, 6, 7, 8, 9]
print(my_list[:5])  # Output: [0, 1, 2, 3, 4]
print(my_list[::2])  # Output: [0, 2, 4, 6, 8]
print(my_list[-4:])  # Output: [6, 7, 8, 9]
print(my_list[:-4])  # Output: [0, 1, 2, 3, 4, 5]
print(my_list[::-1])  # Output: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
print(my_list[8:2:-2])  # Output: [8, 6, 4]
print(my_list[1:8:2])  # Output: [1, 3, 5, 7]
print(my_list[-2:-7:-1])  # Output: [8, 7, 6, 5, 4]

# Reversing a list
my_list.reverse()

# Sorting a list
my_list.sort()
Enter fullscreen mode Exit fullscreen mode

Permutation & Combination

import itertools

# Example list
data = [1, 2, 3]

# Generating permutations of the entire list
perms = list(itertools.permutations(data))
print(perms)
# Output: [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

# Generating permutations of length 2
perms_length_2 = list(itertools.permutations(data, 2))
print(perms_length_2)
# Output: [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]

combinations(iterable, r) #order does not matter

Enter fullscreen mode Exit fullscreen mode

Generating Permutations Manually
You can also generate permutations manually using recursion. Here’s a simple implementation:

def permute(arr):
    result = []

    # Base case: if the list is empty, return an empty list
    if len(arr) == 0:
        return [[]]

    # Recursive case
    for i in range(len(arr)):
        elem = arr[i]
        rest = arr[:i] + arr[i+1:]
        for p in permute(rest):
            result.append([elem] + p)

    return result
Enter fullscreen mode Exit fullscreen mode

Stack

(list can be used as stack)

st=[]
st.append()
st.pop()
top_element = stack[-1]
Enter fullscreen mode Exit fullscreen mode

Tips

1) Strip:
It is used to remove leading and trailing whitespace (or other specified characters) from a string

#EX. (1,2) to 1,2
s.strip('()')
Enter fullscreen mode Exit fullscreen mode

2) Don't use normal dictionary

from collections import defaultdict
dictionary=defaultdict(int)
Enter fullscreen mode Exit fullscreen mode

3) Important checking and convertion

s.isdigit()
s.isalpha()
s.isalnum()
s.islower()
s.isupper()
s.lower()
s.upper()
Enter fullscreen mode Exit fullscreen mode

4) Non-Trivial

round(number, decimal_digits)
ord(each)-ord('a')+1 # value of an alphabet
#/ (Floating-Point Division)
#// (Floor Division)
maxim = float('-inf')
minim = float('inf')
unique_lengths.sort(reverse=True)
s.count('x')

list1 = [1, 2, 3]
iterable = [4, 5, 6]
list1.extend(iterable)

position.replace('(', '').replace(')', '')

expression = "2 + 3 * 4"
result = eval(expression)
print(result) 

#Determinant
import numpy as 
arr=[[1,2,3],[3,4,5],[5,6,7]]
print(np.linalg.det(np.array(arr)))
Enter fullscreen mode Exit fullscreen mode

Sorted

my_list = [3, 1, 4, 1, 5]
sorted_list = sorted(my_list)

my_tuple = (3, 1, 4, 1, 5)
sorted_list = sorted(my_tuple)

my_dict = {'apple': 3, 'banana': 1, 'cherry': 2}
sorted_keys = sorted(my_dict)

my_list = [3, 1, 4, 1, 5]
sorted_list = sorted(my_list, reverse=True)
Enter fullscreen mode Exit fullscreen mode

Enumerate

my_list = ['a', 'b', 'c']
for index, value in enumerate(my_list):
    print(index, value)
Enter fullscreen mode Exit fullscreen mode

Pass by Object Reference

Immutable Types (like integers, strings, tuples):

def modify_immutable(x):
    x = 10  # Rebinding the local variable to a new object
    print("Inside function:", x)

a = 5
modify_immutable(a) #prints 10
print("Outside function:", a) #prints 5
Enter fullscreen mode Exit fullscreen mode

Mutable Types (like lists, dictionaries, sets):

def modify_mutable(lst):
    lst.append(4)  # Modifying the original list object
    print("Inside function:", lst)

my_list = [1, 2, 3]
modify_mutable(my_list) # [1,2,3]
print("Outside function:", my_list) # [1,2,3,4]
Enter fullscreen mode Exit fullscreen mode

Numpy arrays (for numerical operations)

import numpy as np

# Creating a 1D array
arr_1d = np.array([1, 2, 3, 4, 5])

# Creating a 2D array
arr_2d = np.array([[1, 2, 3], [4, 5, 6]])

# Creating an array filled with zeros
zeros = np.zeros((3, 4))

# Creating an array filled with ones
ones = np.ones((2, 3))

# Creating an array with a range of values
range_arr = np.arange(0, 10, 2)

# Creating an array with evenly spaced values
linspace_arr = np.linspace(0, 1, 5)

# Creating an identity matrix
identity_matrix = np.eye(3)

# Shape of the array
shape = arr_2d.shape  # Output: (2, 3)

# Size of the array (total number of elements)
size = arr_2d.size  # Output: 6

# Element-wise addition
arr_add = arr_1d + 5  # Output: array([6, 7, 8, 9, 10])

# Element-wise subtraction
arr_sub = arr_1d - 2  # Output: array([ -1, 0, 1, 2, 3])

# Element-wise multiplication
arr_mul = arr_1d * 2  # Output: array([ 2, 4, 6, 8, 10])

# Element-wise division
arr_div = arr_1d / 2  # Output: array([0.5, 1. , 1.5, 2. , 2.5])

# Sum
total_sum = np.sum(arr_2d)  # Output: 21

# Mean
mean_value = np.mean(arr_2d)  # Output: 3.5

# Standard deviation
std_dev = np.std(arr_2d)  # Output: 1.707825127659933

# Maximum and minimum
max_value = np.max(arr_2d)  # Output: 6
min_value = np.min(arr_2d)  # Output: 1

# Reshaping
reshaped_arr = arr_1d.reshape((5, 1))

# Flattening
flattened_arr = arr_2d.flatten()

# Transposing
transposed_arr = arr_2d.T

# Indexing
element = arr_2d[1, 2]  # Output: 6

# Slicing
subarray = arr_2d[0:2, 1:3]  # Output: array([[2, 3], [5, 6]])
Enter fullscreen mode Exit fullscreen mode

Astype

It is a function in NumPy used to convert a numpy array to different data type.

# Datatypes: np.int32,np.float32,np.float64,np.str_
import numpy as np

# Create an integer array
int_array = np.array([1, 2, 3, 4, 5], dtype=np.int32)

# Convert to float
float_array = int_array.astype(np.float32)

print("Original array:", int_array)
print("Converted array:", float_array)
Enter fullscreen mode Exit fullscreen mode

Reshape

It is a powerful tool for changing the shape of an array without altering its data

import numpy as np

# Create a 1D array
array = np.arange(12)

# Reshape to a 2D array (3 rows x 4 columns)
reshaped_array = array.reshape((3, 4))
Enter fullscreen mode Exit fullscreen mode

Matplotlib

import numpy as np
import matplotlib.pyplot as plt

# Create a random 2D array
data = np.random.rand(10, 10)

# Create a figure with a specific size and resolution
plt.figure(figsize=(8, 6), dpi=100)

# Display the 2D array as an image
plt.imshow(data, cmap='viridis', interpolation='nearest')

# Add a color bar to show the scale of values
plt.colorbar()

# Show the plot
plt.show()
Enter fullscreen mode Exit fullscreen mode

Dictionary

# Creating an empty dictionary
# Maintains ascending order like map in cpp
my_dict = {}

# Creating a dictionary with initial values
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}

# Creating a dictionary using the dict() function
my_dict = dict(name='Alice', age=25, city='New York')

# Accessing a value by key
name = my_dict['name']  # Output: 'Alice'

# Using the get() method to access a value
age = my_dict.get('age')  # Output: 25
country = my_dict.get('country')  # Output: None

# Adding a new key-value pair
my_dict['email'] = 'alice@example.com'

# Updating an existing value
my_dict['age'] = 26

# Removing a key-value pair using pop()
age = my_dict.pop('age')  # Removes 'age' and returns its value

# Getting all keys in the dictionary
keys = my_dict.keys()  # Output: dict_keys(['name', 'email'])

# Getting all values in the dictionary
values = my_dict.values()  # Output: dict_values(['Alice', 'alice@example.com'])

# Iterating over keys
for key in my_dict:
    print(key)

# Iterating over values
for value in my_dict.values():
    print(value)

# Iterating over key-value pairs
for key, value in my_dict.items():
    print(f"{key}: {value}")
Enter fullscreen mode Exit fullscreen mode

Defaultdict

from collections import defaultdict

d = defaultdict(int)

# Initializes 0 to non-existent keys
d['apple'] += 1
d['banana'] += 2
Enter fullscreen mode Exit fullscreen mode

Set

# Creating an empty set
my_set = set()

# Creating a set with initial values
my_set = {1, 2, 3, 4, 5}

# Creating a set from a list
my_list = [1, 2, 3, 4, 5]
my_set = set(my_list)

# Creating a set from a string
my_set = set('hello')  # Output: {'e', 'h', 'l', 'o'}

# Adding an element to a set
my_set.add(6)  # my_set becomes {1, 2, 3, 4, 5, 6}

# Removing an element from a set (raises KeyError if not found)
my_set.remove(3)  # my_set becomes {1, 2, 4, 5, 6}

# Removing and returning an arbitrary element from the set
element = my_set.pop()  # Returns and removes an arbitrary element
Enter fullscreen mode Exit fullscreen mode

String

# Single quotes
str1 = 'Hello'

# Double quotes
str2 = "World"

# Triple quotes for multi-line strings
str3 = '''This is a 
multi-line string.'''

# Raw strings (ignores escape sequences)
raw_str = r'C:\Users\Name'

str1 = 'Hello'

# Accessing a single character
char = str1[1]  # 'e'

# Accessing a substring (slicing)
substring = str1[1:4]  # 'ell'

# Negative indexing
last_char = str1[-1]  # 'o'

# Using + operator
concatenated = 'Hello' + ' ' + 'World'  # 'Hello World'

# Using join method
words = ['Hello', 'World']
concatenated = ' '.join(words)  # 'Hello World'

name = 'Alice'
age = 25

# String formatting
formatted_str = f'My name is {name} and I am {age} years old.'

# Convert to uppercase
upper_str = str1.upper()  # 'HELLO WORLD'

# Convert to lowercase
lower_str = str1.lower()  # 'hello world'

# Convert to capitalize
capital_str = str1.capitalize()  # 'Hello world'

str1 = '  Hello World  '

# Remove leading and trailing whitespace
trimmed = str1.strip()  # 'Hello World'

str1 = 'Hello World Python'

# Split the string into a list of substrings
split_list = str1.split()  # ['Hello', 'World', 'Python']

# Split the string with a specific delimiter
split_list = str1.split(' ')  # ['Hello', 'World', 'Python']

# Join a list of strings into a single string
joined_str = ' '.join(split_list)  # 'Hello World Python'

str1 = 'Hello World'

# Find the position of a substring
pos = str1.find('World')  # 6


str1 = 'Hello123'

# Check if all characters are alphanumeric
is_alnum = str1.isalnum()  # True

# Check if all characters are alphabetic
is_alpha = str1.isalpha()  # False

# Check if all characters are digits
is_digit = str1.isdigit()  # False

# Check if all characters are lowercase
is_lower = str1.islower()  # False

# Check if all characters are uppercase
is_upper = str1.isupper()  # False
Enter fullscreen mode Exit fullscreen mode

Stay Connected!
If you enjoyed this post, don’t forget to follow me on social media for more updates and insights:

Twitter: madhavganesan
Instagram: madhavganesan
LinkedIn: madhavganesan

Image of Datadog

How to Diagram Your Cloud Architecture

Cloud architecture diagrams provide critical visibility into the resources in your environment and how they’re connected. In our latest eBook, AWS Solution Architects Jason Mimick and James Wenzel walk through best practices on how to build effective and professional diagrams.

Download the Free eBook

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up