Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages
Filter by Categories
nmims post
Objective Type Set
Online MCQ Assignment
Question Solution
Solved Question
Uncategorized

## Python MCQ Set 1

1. What is the output of the code shown?

```l=[1,2,3,4,5]
[x&1 for x in l]```

a) [1, 1, 1, 1, 1]
b) [1, 0, 1, 0, 1]
c) [1, 0, 0, 0, 0]
d) [0, 1, 0, 1, 0]

Answer: b [Reason:] In the code shown above, each of the numbers of the list, that is, 1, 2, 3, 4 and 5 are AND-ed with 1 and the result is printed in the form of a list. Hence the output is [1, 0, 1, 0, 1].

2. What is the output of the code shown below?

```l1=[1,2,3]
l2=[4,5,6]
[x*y for x in l1 for y in l2]```

a) [4, 8, 12, 5, 10, 15, 6, 12, 18]
b) [4, 10, 18]
c) [4, 5, 6, 8, 10, 12, 12, 15, 18]
d) [18, 12, 6, 15, 10, 5, 12, 8, 4]

Answer: c [Reason:] The code shown above returns x*y, where x belongs to the list l1 and y belongs to the list l2. Therefore, the output is: [4, 5, 6, 8, 10, 12, 12, 15, 18].

3. Write the list comprehension to pick out only negative integers from a given list ‘l’.
a) [x<0 in l]
b) [x for x<0 in l]
c) [x in l for x<0]
d) [x for x in l if x<0]

Answer: d [Reason:] To pick out only the negative numbers from a given list ‘l’, the correct list comprehension statement would be: [x for x in l if x<0]. For example if we have a list l=[-65, 2, 7, -99, -4, 3] >>> [x for x in l if x<0] The output would be: [-65, -99, -4]

4. What is the output of the code shown?

```s=["pune", "mumbai", "delhi"]
[(w.upper(), len(w)) for w in s]```

a) Error
b) [‘PUNE’, 4, ‘MUMBAI’, 6, ‘DELHI’, 5]
c) [PUNE, 4, MUMBAI, 6, DELHI, 5]
d) [(‘PUNE’, 4), (‘MUMBAI’, 6), (‘DELHI’, 5)]

Answer: d [Reason:] If we need to generate two results, we need to put it in the form of a tuple. The code shown above returns each word of list in uppercase, along with the length of the word. Hence the output of the code is: [(‘PUNE’, 4), (‘MUMBAI’, 6), (‘DELHI’, 5)].

5. What is the output of the code shown below?

```l1=[2,4,6]
l2=[-2,-4,-6]
for i in zip(l1, l2):
print(i)```

a) 2, -2
4, -4
6, -6
b) [(2, -2), (4, -4), (6, -6)]
c) (2, -2)
(4, -4)
(6, -6)
d) [-4, -16, -36]

Answer: c [Reason:] The output of the code shown will be: (2, -2) (4, -4) (6, -6) This format is due to the statement print(i).

6. What is the output of the following code?

```l1=[10, 20, 30]
l2=[-10, -20, -30]
l3=[x+y for x, y in zip(l1, l2)]
l3```

a) Error
b) 0
c) [-20, -60, -80]
d) [0, 0, 0]

Answer: d [Reason:] The code shown above returns x+y, for x belonging to the list l1 and y belonging to the list l2. That is, l3=[10-10, 20-20, 30-20], which is, [0, 0, 0]

7. Write a list comprehension for number and its cube for l=[1, 2, 3, 4, 5, 6, 7, 8, 9].
a) [x**3 for x in l]
b) [x^3 for x in l]
c) [x**3 in l]
d) [x^3 in l]

Answer: a [Reason:] The list comprehension to print a list of cube of the numbers for the given list is: [x**3 for x in l].

8. What is the output of the code shown below?

```l=[[1 ,2, 3], [4, 5, 6], [7, 8, 9]]
[[row[i] for row in l] for i in range(3)]```

a) Error
b) [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
c) 1 4 7
2 5 8
3 6 9
d) (1 4 7)
(2 5 8)
(3 6 9)

Answer: b [Reason:] In the code shown above, ‘3’ is the index of the list. Had we used a number greater than 3, it would result in an error. The output of this code is: [[1, 4, 7], [2, 5, 8], [3, 6, 9]].

9. What is the output of the code shown below?

```import math
[str(round(math.pi)) for i in range (1, 6)]```

a) [‘3’, ‘3’, ‘3’, ‘3’, ‘3’, ‘3’]
b) [‘3.1’, ‘3.14’, ‘3.142’, ‘3.1416’, ‘3.14159’, ‘3.141582’]
c) [‘3’, ‘3’, ‘3’, ‘3’, ‘3’]
d) [‘3.1’, ‘3.14’, ‘3.142’, ‘3.1416’, ‘3.14159’]

Answer: c [Reason:] The list comprehension shown above rounds off pi(3.141) and returns its value, that is 3. This is done 5 times. Hence the output is: [‘3’, ‘3’, ‘3’, ‘3’, ‘3’].

10. What is the output of the code shown below?

```l1=[1,2,3]
l2=[4,5,6]
l3=[7,8,9]
for x, y, z in zip(l1, l2, l3):
print(x, y, z)```

a) 1 4 7
2 5 8
3 6 9
b) (1 4 7)
(2 5 8)
(3 6 9)
c) [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
d) Error

Answer: a [Reason:] The output of the code shown above is: 1 4 7 2 5 8 3 6 9 This is due to the statement: print(x, y,z).

## Python MCQ Set 2

1. Read the information given below carefully and write a list comprehension such that the output is: [‘e’, ‘o’]

```w="hello"
v=('a', 'e', 'i', 'o', 'u')```

a) [x for w in v if x in v]
b) [x for x in w if x in v]
c) [x for x in v if w in v]
d) [x for v in w for x in w]

Answer: b [Reason:] The tuple ‘v’ is used to generate a list containing only vowels in the string ‘w’. The result is a list containing only vowels present in the string “hello”. Hence the required list comprehension is: [x for x in w if x in v].

2. What is the output of the code shown below?

`[ord(ch) for ch in 'abc']`

a) [97, 98, 99]
b) [‘97’, ‘98’, ‘99’]
c) [65, 66, 67]
d) Error

Answer: a [Reason:] The list comprehension shown above returns the ASCII value of each alphabet of the string ‘abc’. Hence the output is: [97, 98, 99]. Had the string been ‘ABC’, the output would be: [65, 66, 67].

3. What is the output of the code shown below?

```t=32.00
[round((x-32)*5/9) for x in t]```

a) 
b) 0
c) [0.00]
d) Error

Answer: d [Reason:] The value of t in the code shown above is equal to 32.00, which is a floating point value. ‘Float’ objects are not iterable. Hence the code results in an error.

4. Write a list comprehension for producing a list of numbers between 1 and 1000 that are divisible by 3.
a) [x in range(1, 1000) if x%3==0]
b) [x for x in range(1000) if x%3==0]
c) [x%3 for x in range(1, 1000)]
d) [x%3=0 for x in range(1, 1000)]

Answer: b [Reason:] The list comprehension [x for x in range(1000) if x%3==0] produces a list of numbers between 1 and 1000 that are divisible by 3.

5. Write a list comprehension equivalent for the code shown below:

```for i in range(1, 101):
if int(i*0.5)==i*0.5:
print(i)```

a) [i for i in range(1, 100) if int(i*0.5)==(i*0.5)]
b) [i for i in range(1, 101) if int(i*0.5)==(i*0.5)]
c) [i for i in range(1, 101) if int(i*0.5)=(i*0.5)]
d) [i for i in range(1, 100) if int(i*0.5)=(i*0.5)]

Answer: b [Reason:] The code shown above prints the value ‘i’ only if it satisfies the condition: int(i*0.5) is equal to (i*0.5). Hence the required list comprehension is: [i for i in range(1, 101) if int(i*0.5)==(i*0.5)].

6. What is the list comprehension equivalent for: list(map(lambda x:x**-1, [1, 2, 3]))
a) [1|x for x in [1, 2, 3]]
b) [-1**x for x in [1, 2, 3]]
c) [x**-1 for x in [1, 2, 3]]
d) [x^-1 for x in range(4)]

Answer: c [Reason:] The output of the function list(map(lambda x:x**-1, [1, 2, 3])) is [1.0, 0.5, 0.3333333333333333] and that of the list comprehension [x**-1 for x in [1, 2, 3]] is [1.0, 0.5, 0.3333333333333333]. Hence the answer is: [x**-1 for x in [1, 2, 3]].

7. Write a list comprehension to produce the list: [1, 2, 4, 8, 16……212].
a) [(2**x) for x in range(0, 13)]
b) [(x**2) for x in range(1, 13)]
c) [(2**x) for x in range(1, 13)]
d) [(x**2) for x in range(0, 13)]

Answer: a [Reason:] The required list comprehension will print the numbers from 1 to 12, each raised to 2. The required answer is thus, [(2**x) for x in range(0, 13)].

8. What is the list comprehension equivalent for:
{x : x is a whole number less than 20, x is even} (including zero)
a) [x for x in range(1, 20) if (x%2==0)]
b) [x for x in range(0, 20) if (x//2==0)]
c) [x for x in range(1, 20) if (x//2==0)]
d) [x for x in range(0, 20) if (x%2==0)]

Answer: d [Reason:] The required list comprehension will print a whole number, less than 20, provided that the number is even. Since the output list should contain zero as well, the answer to this question is: [x for x in range(0, 20) if (x%2==0)].

9. What is the output of the list comprehension shown below?

`[j for i in range(2,8) for j in range(i*2, 50, i)]`

a) A list of prime numbers up to 50
b) A list of numbers divisible by 2, up to 50
c) A list of non prime numbers, up to 50
d) Error

Answer: c [Reason:] The list comprehension shown above returns a list of non-prime numbers up to 50.The logic behind this is that the square root of 50 is almost equal to 7. Hence all the multiples of 2-7 are not prime in this range.

10. What is the output of the code shown below?

```l=["good", "oh!", "excellent!", "#450"]
[n for n in l if n.isalpha() or n.isdigit()]```

a) [‘good’, ‘oh’, ‘excellent’, ‘450’ ]
b) [‘good’]
c) [‘good’, ‘#450’]
d) [‘oh!’, ‘excellent!’, ‘#450’]

Answer: b [Reason:] The code shown above returns a new list containing only strings which do not have any punctuation in them. The only string from the list which does not contain any punctuation is ‘good’. Hence the output of the code shown above is [‘good’].

## Python MCQ Set 3

1. What is the output of the following code?

```a=[10,23,56,]
b=list(a)
a=95
a=34
print(b)```

a) [10,34,56,].
b) [10,23,56,].
c) [10,23,56,].
d) [10,34,56,].

Answer: c [Reason:] The above copy is a type of shallow copy and only changes made in sublist is reflected in the copied list.

2. What does the following piece of code do?

```print(list(zip((1,2,3),('a'),('xxx','yyy'))))
print(list(zip((2,4),('b','c'),('yy','xx'))))```

a) [(1,2,3),(‘a’),(‘xxx’,’yyy’)].
[(2,4),(‘b’,’c’),(‘yy’,’xx’)].
b) [(1, ‘a’, ‘xxx’),(2,’ ‘,’yyy’),(3,’ ‘,’ ‘)].
[(2, ‘b’, ‘yy’), (4, ‘c’, ‘xx’)].
c) Syntax error.
d) [(1, ‘a’, ‘xxx’)].
[(2, ‘b’, ‘yy’), (4, ‘c’, ‘xx’)].

Answer: d [Reason:] The zip function combines the individual attributes of the lists into a list of tuples.

3. What is the output of the following code?

```import copy
a=[10,23,56,]
b=copy.deepcopy(a)
a=95
a=34
print(b)```

a) [10,34,56,].
b) [10,23,56,].
c) [10,23,56,].
d) [10,34,56,].

Answer: b [Reason:] The above copy is deepcopy. Any change made in the original list isn’t reflected.

4. What is the output of the following piece of code?

```s="@"
a=list(s.partition("@"))
print(a)
b=list(s.split("@",3))
print(b)```

a) [‘a’,’b’,’c’,’d’].
[‘a’,’b’,’c’,’d’].
b) [‘a’,’@’,’b’,’@’,’c’,’@’,’d’].
[‘a’,’b’,’c’,’d’].
c) [‘a’,’@’,’@d’].
[‘a’,’b’,’c’,’d’].
d) [‘a’,’@’,’@d’].
[‘a’,’@’,’b’,’@’,’c’,’@’,’d’].

Answer: c [Reason:] The partition function only splits for the first parameter along with the separator while split function splits for the number of times given in the second argument but without the separator.

5. What is the output of the following code?

```a=[1,2,3,4]
b=[sum(a[0:x+1]) for x in range(0,len(a))]
print(b)```

a) 10
b) [1,3,5,7].
c) 4
d) [1,3,6,10].

Answer: d [Reason:] The above code returns the cumulative sum of elements in a list.

6. What is the output of the following code?

```a="hello"
b=list((x.upper(),len(x)) for x in a)
print(b)```

a) [(‘H’, 1), (‘E’, 1), (‘L’, 1), (‘L’, 1), (‘O’, 1)].
b) [(‘HELLO’, 5)].
c) [(‘H’, 5), (‘E’, 5), (‘L’, 5), (‘L’, 5), (‘O’, 5)].
d) Syntax error

Answer: a [Reason:] Variable x iterates over each letter in string a hence the length of each letter is 1.

7. What is the output of the following code?

```a=[1,2,3,4]
b=[sum(a[0:x+1]) for x in range(0,len(a))]
print(b)```

a) 10
b) [1,3,5,7].
c) 4
d) [1,3,6,10].

Answer: d [Reason:] The above code returns the cumulative sum of elements in a list.

8. What is the output of the following code?

```a=[[]]*3
a.append(7)
print(a)```

a) Syntax error
b) [, , ].
c) [, [], []].
d) [[],7, [], []].

Answer: b [Reason:] The first line of the code creates multiple reference copies of sublist. Hence when 7 is appended, it gets appended to all the sublists.

9. What is the output of the following code?

```b=[2,3,4,5]
a=list(filter(lambda x:x%2,b))
print(a)```

a) [2,4].
b) [ ].
c) [3,5].
d) Invalid arguments for filter function

Answer: c [Reason:] The filter function gives value from the list b for which the condition is true, that is, x%2==1.

10. What is the output of the following code?

```lst=[3,4,6,1,2]
lst[1:2]=[7,8]
print(lst)```

a) [3, 7, 8, 6, 1, 2].
b) Syntax error
c) [3,[7,8],6,1,2].
d) [3,4,6,7,8].

Answer: a [Reason:] In the piece of code, slice assignment has been implemented. The sliced list is replaced by the assigned elements in the list. Type in python shell to verify.

## Python MCQ Set 4

1. What is the output of the following code?

```a=[1,2,3]
b=a.append(4)
print(a)
print(b)```

a) [1,2,3,4].
[1,2,3,4].
b) [1, 2, 3, 4].
None
c) Syntax error
d) [1,2,3].
[1,2,3,4].

Answer: b [Reason:] Append function on lists doesn’t return anything. Thus the value of b is None.

2. What will be the output when executed in python shell?

```>>> a=[14,52,7]
>>>> b=a.copy()
>>> b is a```

a) True
b) False

Answer: b [Reason:] List b is just a copy of the original list. Any copy made in list b will not be reflected in list a.

3. What is the output of the following code?

```a=[13,56,17]
a.append()
a.extend([45,67])
print(a)```

a) [13, 56, 17, , 45, 67].
b) [13, 56, 17, 87, 45, 67].
c) [13, 56, 17, 87,[ 45, 67]].
d) [13, 56, 17, , [45, 67]].

Answer: a [Reason:] The append function simply adds its arguments to the list as it is while extend function extends its arguments and later appends it.

4. What is the output of the following piece of code?

```a=list((45,)*4)
print((45)*4)
print(a)```

a) 180
[(45),(45),(45),(45)].
b) (45,45,45,45).
[45,45,45,45].
c) 180
[45,45,45,45].
d) Syntax error

Answer: c [Reason:] (45) is an int while (45,) is a tuple of one element. Thus when a tuple is multiplied, it created references of itself which is later converted to a list.

5. What is the output of the following code?

```lst=[[1,2],[3,4]]
print(sum(lst,[]))```

a) [,].
b) [1,2,3,4].
c) Error
d) .

Answer: b [Reason:] The above piece of code is used for flattening lists.

6. What is the output of the following code?

```word1="Apple"
word2="Apple"
list1=[1,2,3]
list2=[1,2,3]
print(word1 is word2)
print(list1 is list2)```

a) True
True
b) False
True
c) False
False
d) True
False

Answer: d [Reason:] In the above case, both the lists are equivalent but not identical as they have different objects.

7. What is the output of the following code?

```def unpack(a,b,c,d):
print(a+d)
x = [1,2,3,4]
unpack(*x)```

a) Error
b) [1,4].
c) .
d) 5

Answer: d [Reason:] unpack(*x) unpacks the list into the separate variables. Now, a=1 and d=4. Thus 5 gets printed.

8. What is the output of the following code?

```places = ['Bangalore', 'Mumbai', 'Delhi']
<br class="blank" />places1 = places
places2 = places[:]
<br class="blank" />places1="Pune"
print(places)```

a) [‘Bangalore’, ‘Pune’, ‘Hyderabad’].
b) [‘Bangalore’, ‘Pune’, ‘Delhi’].
c) [‘Bangalore’, ‘Mumbai’, ‘Delhi’].
d) [‘Bangalore’, ‘Mumbai’, ‘Hyderabad’].

Answer: b [Reason:] places1 is an alias of the list places. Hence, any change made to places1 is reflected in places. places2 is a copy of the list places. Thus, any change made to places2 isn’t reflected in places.

9. What is the output of the following piece of code?

```x=[,]
print(" ".join(list(map(str,x))))```

a)  .
b)  .
c) Syntax error
d) [] [].

Answer: a [Reason:] The elements 1 and 2 are first put into separate lists and then combined with a space in between using the join attribute.

10. What is the output of the following code?

```a=165
b=sum(list(map(int,str(a))))
print(b)```

a) 561
b) 5
c) 12
d) Syntax error

Answer: c [Reason:] First, map converts the number to string and then places the individual digits in a list. Then, sum finds the sum of the digits in the list. The code basically finds the sum of digits in the number.

11. What is the output of the following code?

```a= [1, 2, 3, 4, 5]
for i in range(1, 5):
a[i-1] = a[i]
for i in range(0, 5):
print(a[i],end = " ")```

a) 5 5 1 2 3
b) 5 1 2 3 4
c) 2 3 4 5 1
d) 2 3 4 5 5

Answer: d [Reason:] The items having indexes from 1 to 4 are shifted forward by one index due to the first for-loop and the item of index four is printed again because of the second for-loop.

12. What is the output of the following code?

```def change(var, lst):
var = 1
lst = 44
k = 3
a = [1, 2, 3]
change(k, a)
print(k)
print(a)```

a) 3
[44, 2, 3].
b) 1
[1,2,3].
c) 3
[1,2,3].
d) 1
[44,2,3].

Answer: a [Reason:] A list is mutable, hence it’s value changes after function call. However, integer isn’t mutable. Thus its value doesn’t change.

13. What is the output of the following code?

```a = [1, 5, 7, 9, 9, 1]
<br class="blank" />b=a
<br class="blank" />x= 0
for x in range(1, len(a)):
if a[x] > b:
b = a[x]
b= x
print(b)```

a) 5
b) 3
c) 4
d) 0

Answer: c [Reason:] The above piece of code basically prints the index of the largest element in the list.

14. What is the output of the following code?

```a=["Apple","Ball","Cobra"]
<br class="blank" />a.sort(key=len)
print(a)```

a) [‘Apple’, ‘Ball’, ‘Cobra’].
b) [‘Ball’, ‘Apple’, ‘Cobra’].
c) [‘Cobra’, ‘Apple’, ‘Ball’].
d) Invalid syntax for sort().

Answer: b [Reason:] The syntax isn’t invalid and the list is sorted according to the length of the strings in the list since key is given as len.

15. What is the output of the following code?

```num = ['One', 'Two', 'Three']
for i, x in enumerate(num):
print('{}: {}'.format(i, x),end=" ")```

a) 1: 2: 3:
b) Exception is thrown
c) One Two Three
d) 0: One 1: Two 2: Three

Answer: d [Reason:] enumerate(iterator,start=0) is a buit-in function which returns (0,lst),(1,lst) and so on where lst is a list(iterator).

## Python MCQ Set 5

1. Which of the following matrices will throw an error in Python?

```a) A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
b) B = [[3, 3, 3]
[4, 4, 4]
[5, 5, 5]]
c) C = [(1, 2, 4),
(5, 6, 7),
(8, 9, 10)]
d) D = [2, 3, 4,
3, 3, 3,
4, 5, 6]```

Answer: b [Reason:] In matrix B will result in an error because in the absence of a comma at the end of each row, it behaves like three separate lists. The error thrown states that the list integers must be integers or slices, not tuples.

2. What is the output of the snippet of code shown below?

```A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
A```

a) [4, 5, 6]
b) [3, 6, 9]
c) [1, 4, 7]
d) [1, 2, 3]

Answer: a [Reason:] We can index the rows and columns using normal index operations. The statement A represents the second row, that is, the middle row. Hence the output of the code will be: [4, 5, 6].

3. Which of the following statements will result in the output: 6?

```A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]```

a) A
b) A
c) A
d) A

Answer: c [Reason:] The output that is required is 6, that is, row 2, item 3. This position is represented by the statement: A.

4. What is the output of the code shown?

```A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
[A[row] for row in (0, 1, 2)]```

a) [7, 8, 9]
b) [4, 5, 6]
c) [2, 5, 8]
d) [1, 4, 7]

Answer: c [Reason:] To get a particular column as output, we can simple iterate across the rows and pull out the desired column, or iterate through positions in rows and index as we go. Hence the output of the code shown above is: [2, 5, 8].

5. What is the output of the code shown below?

```A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
[A[i][i] for i in range(len(A))]```

a) [1, 5, 9]
b) [3, 5, 7]
c) [4, 5, 6]
d) [2, 5, 8]

Answer: a [Reason:] We can also perform tasks like pulling out a diagonal. The expression shown above uses range to generate the list of offsets and the indices with the row and column the same, picking out A, then A and so on. Hence the output of the code is: [1, 5, 9].

6. What is the output of the following code?

```l=[[1, 2, 3], [4, 5, 6]]
for i in range(len(l)):
for j in range(len(l[i])):
l[i][j]+=10
l```

a) No output
b) Error
c) [[1, 2, 3], [4, 5, 6]]
d) [[11, 12, 13], [14, 15, 16]]

Answer: d [Reason:] We use range twice if the shapes differ. Each element of list l is increased by 10. Hence the output is: [[11, 12, 13], [14, 15, 16]]

7. What is the output of the code shown?

```A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]

[[col + 10 for col in row] for row in A]```

a) [[11, 12, 13], [14, 15, 16], [17, 18, 19]]
b) Error
c) [11, 12, 13], [14, 15, 16], [17, 18, 19]
d) [11, 12, 13, 14, 15, 16, 17, 18, 19]

Answer: a [Reason:] The code shown above shows a list comprehension which adds 10 to each element of the matrix A and prints it row-wise. Hence the output of the code is: [[11, 12, 13], [14, 15, 16], [17, 18, 19]]

8. What is the output of the code shown below?

```A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
[A[i][len(A)-1-i] for i in range(len(A))]```

a) [1, 5, 9]
b) [4, 5, 6]
c) [3, 5, 7]
d) [2, 5, 8]

Answer: c [Reason:] This expression scales the common index to fetch A, A, etc. We assume the matrix has the same number of rows and columns.

9. The service in which the cloud consumer does not manage the underlying cloud infrastructure nor the application(s) contained in the instances as the service provides user with all of it is:

```A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
B = [[3, 3, 3],
[4, 4, 4],
[5, 5, 5]]
[B[row][col]*A[row][col] for row in range(3) for col in range(3)]```

a) [3, 6, 9, 16, 20, 24, 35, 40, 45]
b) Error
c) [0, 30, 60, 120, 160, 200, 300, 350, 400]
d) 0

Answer: c [Reason:] In the code shown above, we have used list comprehension to combine values of multiple matrices. We have multiplied the elements of the matrix B with that of the matrix A, in the range(3). Hence the output of this code is: [0, 30, 60, 120, 160, 200, 300, 350, 400].

10. What is the output of the code shown?

```r = [11, 12, 13, 14, 15, 16, 17, 18, 19]
A = [[0, 10, 20],
[30, 40, 50],
[60, 70, 80]]
for row in A:
for col in row:
r.append(col+10)
r```

a) [11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 20, 30, 40, 50, 60, 70, 80, 90]
b) [10, 20, 30, 40, 50, 60, 70, 80, 90]
c) [11, 12, 13, 14, 15, 16, 17, 18, 19]
d) [0, 10, 20, 30, 40, 50, 60, 70, 80]

Answer: a [Reason:] The code shown above adds 10 to each element of the matrix and prints the output row-wise. Since the list l already contains some elements, the new elements are appended to it. Hence the output of this code is: [11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 20, 30, 40, 50, 60, 70, 80, 90].

11. What is the output of the code shown?

```A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
B = [[3, 3, 3],
[4, 4, 4],
[5, 5, 5]]
[[col1 * col2 for (col1, col2) in zip(row1, row2)] for (row1, row2) in zip(A, B)]```

a) [0, 30, 60, 120, 160, 200, 300, 350, 400]
b) [[0, 30, 60], [120, 160, 200], [300, 350, 400]]
c) No output
d) Error

Answer: b [Reason:] The list comprehension shown above results in the output: [[0, 30, 60], [120, 160, 200], [300, 350, 400]].

12. What is the output of the code shown?

```A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
B = [[3, 3, 3],
[4, 4, 4],
[5, 5, 5]]
zip(A, B)```

a) Address of the zip object
b) Address of the matrices A and B
c) No output
d) [3, 6, 9, 16, 20, 24, 35, 40, 45]