This post provides some cool python tricks.
(Stay tuned, as I may update the tricks while I plow in my deep learning garden)
With increase in popularity of python, more and more features are becoming available for python coding. Using this features makes writing the code in fewer lines and cleaner. In this article we will see 10 such python tricks which are very frequently used and most useful.
Reversing a List
We can simply reverse a given list by using a reverse() function. It handles both numeric and string data types present in the list.
Example
List = ["Shriya", "Lavina","Sampreeti" ] List.reverse() print(List)
Output
Running the above code gives us the following result −
['Sampreeti', 'Lavina', 'Shriya']
Print list elements in any order
If you need to print the values of a list in different orders, you can assign the list to a series of variables and programmatically decide the order in which you want to print the list.
Example
List = [1,2,3] w, v, t = List print(v, w, t ) print(t, v, w )
Output
Running the above code gives us the following result −
(2, 1, 3) (3, 2, 1)
Using Generators Inside Functions
We can use generators directly inside a function to writer shorter and cleaner code. In the below example we find the sum using a generator directly as an argument to the sum function.
Example
sum(i for i in range(10) )
Output
Running the above code gives us the following result −
45
*Using the zip() function
When we need to join many iterator objects like lists to get a single list we can use the zip function. The result shows each item to be grouped with their respective items from the other lists.
Example
Year = (1999, 2003, 2011, 2017) Month = ("Mar", "Jun", "Jan", "Dec") Day = (11,21,13,5) print zip(Year,Month,Day)
Output
Running the above code gives us the following result −
[(1999, 'Mar', 11), (2003, 'Jun', 21), (2011, 'Jan', 13), (2017, 'Dec', 5)]
Swap two numbers using a single line of code
Swapping of numbers usually requires storing of values in temporary variables. But with this python trick we can do that using one line of code and without using any temporary variables.
Example
x,y = 11, 34 print x print y x,y = y,x print x print y
Output
Running the above code gives us the following result −
11 34 34 11
Transpose a Matrix
Transposing a matrix involves converting columns into rows. In python we can achieve it by designing some loop structure to iterate through the elements in the matrix and change their places or we can use the following script involving zip function in conjunction with the * operator to unzip a list which becomes a transpose of the given matrix.
Example
x = [[31,17], [40 ,51], [13 ,12]] print (zip(*x))
Output
Running the above code gives us the following result −
[(31, 40, 13), (17, 51, 12)]
*Print a string N Times
The usual approach in any programming language to print a string multiple times is to design a loop. But python has a simple trick involving a string and a number inside the print function.
Example
str ="Point"; print(str * 3);
Output
Running the above code gives us the following result −
PointPointPoint
*Reversing List Elements Using List Slicing
List slicing is a very powerful technique in python which can also be used to reverse the order of elements in a list.
Example
#Reversing Strings list1 = ["a","b","c","d"] print list1[::-1] # Reversing Numbers list2 = [1,3,6,4,2] print list2[::-1]
Output
Running the above code gives us the following result −
['d', 'c', 'b', 'a'] [2, 4, 6, 3, 1]
Find the Factors of a Number
When we are need of the factors of a number, required for some calculation or analysis, we can design a small loop which will check the divisibility of that number with the iteration index.
Example
f = 32 print "The factors of",x,"are:" for i in range(1, f + 1): if f % i == 0: print(i)
Output
Running the above code gives us the following result −
The factors of 32 are: 1 2 4 8 16 32
*Checking the Usage of Memory
We can check the amount of memory consumed by each variable that we declare by using the getsizeof() function. As you can see below, different string lengths will consume different amount of memory.
Example
import sys a, b, c,d = "abcde" ,"xy", 2, 15.06 print(sys.getsizeof(a)) print(sys.getsizeof(b)) print(sys.getsizeof(c)) print(sys.getsizeof(d))
Output
Running the above code gives us the following result −
38 35 24 24
References:
https://www.tutorialspoint.com/10-interesting-python-cool-tricks (Pradeep Elance Published on 08-Aug-2019 10:22:06)