Python tips and tricks

Ternary operator

1
2
3
x, y = 10, 20
max = x if x > y else y
print(max)

“all” or “any” conditionals

1
2
3
4
5
6
data = [True, True, False]
if not all(data):
print("Thats right")

if any(data):
print("at least")

Swapping contents of two variables

1
2
3
4
5
6
7
s1 = "Hello"
s2 = "Goodbye"

s2, s1 = s1, s2

print(s2) # Hello
print(s1) # Goodbye

Use f-strings for formatting

1
2
3
4
5
s = "World"
# Classic Python: formatting using format method
print("Hello {0}!".format(s)) # Hello World!
# Python 3.6: format using f-string
print(f"Hello {s}!") # Hello World!

Print a numbered list

1
2
3
4
5
6
7
8
9
10
fruits = ["Apple", "Banana", "Pear", "Orange", "Strawberry"]
for idx, fruit in enumerate(fruits, 1):
print(f"{idx}. {fruit}")

# Output
# 1. Apple
# 2. Banana
# 3. Pear
# 4. Orange
# 5. Strawberry
1
2
3
4
5
6
python = ["Python", "Syntax" , "is", "elegantly"]
python_string = ' '.join(python)
print(python_string)

# Output
# Python Syntax is elegantly

Emojis in Python

1
2
3
4
5
6
import emoji
today = "Weather is :sunny: today! I :heart: it!"
print(emoji.emojize(today, use_aliases=True))

# Output
# Weather is ☀ today! I ❤ it!

Reverse a String

1
2
3
4
5
6
7
8
9
10
11
def is_palindrome(word):
return True if word == word[::-1] else False

s = "Hello"
print(s) # Hello
# Reverse the string
print(s[::-1]) # olleH
print(is_palindrome(s)) # False

w = "racecar"
print(is_palindrome(w)) # True

Remove duplicates from the list

1
2
3
4
5
6
7
8
nums = [1, 5, 22, 30, 15, 12, 33, 15, 22, 1]
# converting list to set removes the duplicate items
unique_nums = list(set(nums))
# Original list
print(nums) # [1, 5, 22, 30, 15, 12, 33, 15, 22, 1]
# unique list
print(unique_nums) # [1, 33, 5, 12, 15, 22, 30]

Iterate over multiple lists at once

1
2
3
4
5
6
7
8
9
10
11
# use zip function
days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday']
temps = [90, 88, 87, 89]
for d, w in zip(days, temps):
print(f"{d}'s temperature is {w}")

# Output
# Sunday's temperature is 90
# Monday's temperature is 88
# Tuesday's temperature is 87
# Wednesday's temperature is 89

Pack / unpack elements

Collected elements into a single tuple using *<param_name> syntax.

Pack

1
2
3
4
5
6
7
def add_nums(*args):
sum = 0
for num in args:
sum += num
return sum

print(f"Sum = {add_nums(3, 5, 7, 9)}") # Sum = 24

Unpack

1
2
3
4
def avg(a, b, c):
return (a + b + c) / 4

print(f"Average = {avg(*[10, 20, 30])}") # Average = 15.0

Merge two dictionaries

1
2
3
4
5
6
d1={'Apple' : 5}
d2={'Orange' : 4, 'Banana' : 3}
# unpack dictionaries via `**``
#merge via `{}``
result = {**d1,**d2}
print(result) # {‘Apple’ : 5, ‘Orange’: 4, ‘Banana’: 3}

Check if all the elements of one list is in another list

1
2
3
4
5
6
list1 = ['Hi' ,  'hello', 'master', 'world', 'list']
list2 = ['world' , 'hello', 'Hi']

result = all(elem in list1 for elem in list2)

print(result) # True