7
Question Question 7
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- What output does Line 1 produce ?
- What output does Line 2 produce ?
- What output does Line 3 produce ?
- What output does Line 5 produce ?
- What is the return value from the list sort( ) function (Line 4) ?
- The output of line 1 is :
'd' - The output of line 2 is:
30 - The output of line 3 is:
False
Since 30 is present in myDict as a value and not as a key. - The output of line 5 is:
('d',30)myLstis a list which is created by dictionary items i.emyDict.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). - 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)]