Python Tips and Tricks for Competitive Programming
Last Updated :
19 Aug, 2021
Python Programming language makes everything easier and straightforward. Effective use of its built-in libraries can save a lot of time and help with faster submissions while doing Competitive Programming. Below are few such useful tricks that every Pythonist should have at their fingertips:
- Converting a number into a List of digits using map() Function:
Below is the implementation to convert a given number into a list of digits:
Python3
n = 123456
lis = list ( map ( int , str (n)))
print (lis)
|
Output:
[1, 2, 3, 4, 5, 6]
- Converting a sentence into a List of words using split() Function: Below is the implementation to convert a sentence into a list of words:
Python3
sentence = "GeeksforGeeks is the computer science portal for geeks"
lis = list (sentence.split())
print (lis)
|
Output:
['GeeksforGeeks', 'is', 'the', 'computer', 'science', 'portal', 'for', 'geeks']
- Take newline-separated integers as a List: Newline-separated input from the console can be taken in the form of a List using List Comprehension. Below is the implementation to take input of newline-separated integers as a list:
Python3
n = int ( input ())
lis = [ int ( input ()) for _ in range (n)]
|
Below is the implementation to demonstrate gcd() function:
Python3
import math
a = 8
b = 24
print (math.gcd(a, b))
|
- Print permutations of array: All permutations of an array can be efficiently generated using built-in permutations() method from itertools package. This method takes a List as input and returns an object List of Tuples that contains all permutations.
Below is the implementation of the approach:
Python3
from itertools import permutations
perm = permutations([ 1 , 2 , 3 ])
for i in list (perm):
print (i)
|
Output:
(1, 2, 3)
(1, 3, 2)
(2, 1, 3)
(2, 3, 1)
(3, 1, 2)
(3, 2, 1)
- Printing a string multiple times without Loop: Below is the implementation to print a string multiple times without loop using string multiplication technique:
Python3
str = "India"
print ( str * 2 )
|
- To print a list with spaces without loop: A list can be printed without running the loop by using the * operator in Python.
Below is the implementation to print a list with spaces without loop:
Python3
lis = [ 1 , 2 , 3 , 4 ]
print ( * lis)
|
Below is the implementation of the above approach:
Python3
binary = "1010"
print ( int (binary, 2 ))
|
- To print sorted list with spaces: Sorting any sequence is very easy in Python using a built-in method sorted() and using * symbol to print list with spaces. Sorted() sorts any sequence (list, tuple) and always returns a list with the elements in a sorted manner, without modifying the original sequence.
Below is the implementation to print a sorted list with spaces:
Python3
lis = [ 6 , 2 , 7 , 3 , 4 ]
print ( * sorted (lis))
|
- To find common elements in two arrays: The common elements in 2 arrays/lists can be done in a much simpler way using sets. The intersection() function in Python gives the common elements in both arrays/lists.
Below is the implementation to demonstrate intersection() function:
Python3
array1 = [ 4 , 5 , 6 , 7 , 8 ]
array2 = [ 3 , 4 , 5 , 1 , 72 ]
print ( set (array1).intersection( set (array2)))
|
Share your thoughts in the comments
Please Login to comment...