KnowledgeBoat Logo
|

Computer Science

Consider the following code and then answer the questions that follow :

myDict = {'a' : 27, 'b' : 43, 'c' : 25, 'd' : 30}
valA =''
for i in myDict :
  if i > valA :
    valA = i
    valB = myDict[i]
print(valA)	            #Line1
print(valB)	            #Line2
print(30 in myDict)	    #Line3
myLst = list(myDict.items())
myLst.sort()	            #Line4
print(myLst[-1])	        #Line5
  1. What output does Line 1 produce ?
  2. What output does Line 2 produce ?
  3. What output does Line 3 produce ?
  4. What output does Line 5 produce ?
  5. What is the return value from the list sort( ) function (Line 4) ?

Python Dictionaries

17 Likes

Answer

  1. The output of line 1 is : 'd'
  2. The output of line 2 is: 30
  3. The output of line 3 is: False
    Since 30 is present in myDict as a value and not as a key.
  4. The output of line 5 is: ('d',30)
    myLst is a list which is created by dictionary items i.e myDict.items()
    Hence, myLst will store ⇒ [('a', 27), ('b', 43), ('c', 25), ('d', 30)]
    myLst.sort() will sort the list in ascending order according to the first element of each tuple. Since the first elements of the tuples are all strings, Python performs lexicographical sorting, which means that 'a' comes before 'b' and so on.
    myLst[-1] will return last element of list i.e.,('d', 30).
  5. The sort function in Line 4 will not return any value.
    It will sort myLst in place in ascending order according to the first element of each tuple. Since the first elements of the tuples are all strings, Python performs lexicographical sorting, which means that 'a' comes before 'b' and so on. The sorted myLst will be [('a', 27), ('b', 43), ('c', 25), ('d', 30)]

Answered By

12 Likes


Related Questions