Essential Python Tips And Tricks For Programmers?

PythonProgrammingServer Side Programming

In this article, we are going to cover some useful python tricks and tips that will come handy when you are writing program in competitive programming or for your company as they reduce the code and optimized execution.

In-Place Swapping of two Numbers

x, y = 50, 70
print(x, y)

#swapping
x, y = y, x
print(x, y)

Output

50 70
70 50

Creating a single string from a list

lst = ['What', 'a', 'fine', 'morning']
print(" ".join(lst))

Output

What a fine morning

Remove duplicates from a list

# Remove duplicates from a list

#This method will not preserve the order
lst = [2, 4, 4 ,9 , 13, 4, 2]
print("Original list: ", lst)
new_lst = list(set(lst))
print(new_lst)

# Below method will preserve the order
from collections import OrderedDict
lst = [2, 4, 4 ,9 , 13, 4, 2]
print(list(OrderedDict.fromkeys(lst).keys()))

Output

Original list: [2, 4, 4, 9, 13, 4, 2]
[9, 2, 4, 13]
[2, 4, 9, 13]

Reverse a string

#Reverse a string
s = "Hello, World!"
print(s[::-1])

letters = ("abcdefghijklmnopqrstuvwxyz")
print(letters[::-1])

Output

!dlroW ,olleH
Zyxwvutsrqponmlkjihgfedcba

Reversing a list

# Reversing a list

lst = [20, 40 , 60, 80]
print(lst[::-1])

Output

[80, 60, 40, 20]

Transpose two-dimensional array

#Transpose of a 2d array, that means if the matrix is 2 * 3 after transpose it will be 3* 2 matrix.

matrix = [['a', 'b', 'c'], ['d', 'e', 'f']]
transMatrix = zip (*matrix)
print(list (transMatrix))

Output

[('a', 'd'), ('b', 'e'), ('c', 'f')]

Check if two strings are anagrams

#Check if two strings are anagrams

from collections import Counter

def is_anagram (str1, str2):
return Counter(str1) == Counter(str2)

print(is_anagram('hello', 'ollhe'))
#and
print(is_anagram('Hello', 'hello'))

Output

True
False

Inspect an object in python

#Inspect an object in pyton

lst =[1, 3, 4, 7, 9]
print(dir(lst))

Output

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

Enumerate a list

#Enumerate a list
lst = [20, 10, 40, 50 , 30, 40]
for i, value in enumerate(lst):
print(i, ': ', value)

Output

0 : 20
1 : 10
2 : 40
3 : 50
4 : 30
5 : 40

Factorial of any number

#Factorial of any number

import functools

result = (lambda s: functools.reduce(int. __mul__, range(1, s+1), 1))(5)
print(result)

Output

120

Creating a dictionary from two related sequences

#Creating a dictionary from two related sequences
x1 = ('Name', 'EmpId', 'Sector')
y1 = ('Zack', 4005, 'Finance')
print(dict (zip(x1, y1)))

Output

{'Name': 'Zack', 'EmpId': 4005, 'Sector': 'Finance'}
raja
Published on 12-Mar-2019 11:58:49
Advertisements