In the previous two articles (Set 2 and Set 3), we discussed the basics of python. In this article, we will learn more about python and feel the power of python.
Dictionary in Python
In python, the dictionary is similar to hash or maps in other languages. It consists of key-value pairs. The value can be accessed by a unique key in the dictionary. (Before python 3.7 dictionary used to be unordered meant key-value pairs are not stored in the order they are inputted into the dictionary but from python 3.7 they are stored in order like the first element will be stored in the first position and the last at the last position.)
Python3
# Create a new dictionary d = dict () # or d = {} # Add a key - value pairs to dictionary d[ 'xyz' ] = 123 d[ 'abc' ] = 345 # print the whole dictionary print (d) # print only the keys print (d.keys()) # print only values print (d.values()) # iterate over dictionary for i in d : print ( "%s %d" % (i, d[i])) # another method of iteration for index, key in enumerate (d): print (index, key, d[key]) # check if key exist print ( 'xyz' in d) # delete the key-value pair del d[ 'xyz' ] # check again print ( "xyz" in d) |
Output:
{'xyz': 123, 'abc': 345} ['xyz', 'abc'] [123, 345] xyz 123 abc 345 0 xyz 123 1 abc 345 True False
Time Complexity: O(1)
Auxiliary Space: O(n)
break, continue, pass in Python
- break: takes you out of the current loop.
- continue: ends the current iteration in the loop and moves to the next iteration.
- pass: The pass statement does nothing. It can be used when a statement is required. syntactically but the program requires no action.
It is commonly used for creating minimal classes.
Python3
# Function to illustrate break in loop def breakTest(arr): for i in arr: if i = = 5 : break print (i) # For new line print ("") # Function to illustrate continue in loop def continueTest(arr): for i in arr: if i = = 5 : continue print (i) # For new line print ("") # Function to illustrate pass def passTest(arr): pass # Driver program to test above functions # Array to be used for above functions: arr = [ 1 , 3 , 4 , 5 , 6 , 7 ] # Illustrate break print ( "Break method output" ) breakTest(arr) # Illustrate continue print ( "Continue method output" ) continueTest(arr) # Illustrate pass- Does nothing passTest(arr) |
Output:
Break method output 1 3 4 Continue method output 1 3 4 6 7
Time complexity: O(n), where n is the length of the array arr.
Auxiliary space: O(1), since the space used is constant and does not depend on the size of the input.
map, filter, lambda
- map: The map() function applies a function to every member of iterable and returns the result. If there are multiple arguments, map() returns a list consisting of tuples containing the corresponding items from all iterables.
- filter: It takes a function returning True or False and applies it to a sequence, returning a list of only those members of the sequence for which the function returned True.
- lambda: Python provides the ability to create a simple (no statements allowed internally) anonymous inline function called lambda function. Using lambda and map you can have two for loops in one line.
Python3
# python program to test map, filter and lambda items = [ 1 , 2 , 3 , 4 , 5 ] #Using map function to map the lambda operation on items cubes = list ( map ( lambda x: x * * 3 , items)) print (cubes) # first parentheses contains a lambda form, that is # a squaring function and second parentheses represents # calling lambda print ( ( lambda x: x * * 2 )( 5 )) # Make function of two arguments that return their product print (( lambda x, y: x * y)( 3 , 4 )) #Using filter function to filter all # numbers less than 5 from a list number_list = range ( - 10 , 10 ) less_than_five = list ( filter ( lambda x: x < 5 , number_list)) print (less_than_five) |
Output:
[1, 8, 27, 64, 125] 25 12 [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4]
For more clarity about map, filter, and lambda, you can have a look at the below example:
Python3
# code without using map, filter and lambda # Find the number which are odd in the list # and multiply them by 5 and create a new list # Declare a new list x = [ 2 , 3 , 4 , 5 , 6 ] # Empty list for answer y = [] # Perform the operations and print the answer for v in x: if v % 2 : y + = [v * 5 ] print (y) |
Output:
[15, 25]
The same operation can be performed in two lines using map, filter, and lambda as :
Python3
# above code with map, filter and lambda # Declare a list x = [ 2 , 3 , 4 , 5 , 6 ] # Perform the same operation as in above post y = list ( map ( lambda v: v * 5 , filter ( lambda u: u % 2 , x))) print (y) |
Output:
[15, 25]
This article is contributed by Nikhil Kumar Singh. Please write comments if you find anything incorrect, or if you want to share more information about the topic discussed above.