Engineering Questions with Answers - Multiple Choice Questions

Python MCQs

1 - Question

1. Which of the following functions will return the symmetric difference between two sets, x and y?
a) x | y
b) x ^ y
c) x & y
d) x – y

View Answer

Answer: b
Explanation: The function x ^ y returns the symmetric difference between the two sets x and y. This is basically an XOR operation being performed on the two sets.




2 - Question

2. What will be the output of the following Python code snippet?

z=set('abc$de')
'a' in z

a) True
b) False
c) No output
d) Error

View Answer

Answer: a
Explanation: The code shown above is used to check whether a particular item is a part of a given set or not. Since ‘a’ is a part of the set z, the output is true. Note that this code would result in an error in the absence of the quotes.




3 - Question

Answer: a
Explanation: The code shown above is used to check whether a particular item is a part of a given set or not. Since ‘a’ is a part of the set z, the output is true. Note that this code would result in an error in the absence of the quotes.

View Answer

Answer: d
Explanation: The code shown first adds the element ‘san’ to the set z. The set z is then updated and two more elements, namely, ‘p’ and ‘q’ are added to it. Hence the output is: {‘a’, ‘b’, ‘c’, ‘p’, ‘q’, ‘san’}




4 - Question

4. What will be the output of the following Python code snippet?

s=set([1, 2, 3])
s.union([4, 5])
s|([4, 5])

a)

   {1, 2, 3, 4, 5}
   {1, 2, 3, 4, 5}

b)

   Error
   {1, 2, 3, 4, 5}

c)

   {1, 2, 3, 4, 5}
   Error

d)

   Error
   Error
View Answer

Answer: c
Explanation: The first function in the code shown above returns the set {1, 2, 3, 4, 5}. This is because the method of the function union allows any iterable. However the second function results in an error because of unsupported data type, that is list and set.




5 - Question

5. What will be the output of the following Python code snippet?

for x in set('pqr'):
	print(x*2)

a)

pp
qq
rr

b)

pqr
pqr

c) ppqqrr
d) pqrpqr

View Answer

Answer: a
Explanation: The code shown above prints each element of the set twice separately. Hence the output of this code is:
pp
qq
rr




6 - Question

6. What will be the output of the following Python code snippet?

{a**2 for a in range(4)}

a) {1, 4, 9, 16}
b) {0, 1, 4, 9, 16}
c) Error
d) {0, 1, 4, 9}

View Answer

Answer: d
Explanation: The code shown above returns a set containing the square of values in the range 0-3, that is 0, 1, 2 and 3. Hence the output of this line of code is: {0, 1, 4, 9}.




7 - Question

7. What will be the output of the following Python function?

{x for x in 'abc'}
{x*3 for x in 'abc'}

a)

    {abc}
    aaa
    bbb
    ccc

b)

    abc
   abc abc abc

c)

    {‘a’, ‘b’, ‘c’}
   {‘aaa’, ‘bbb’, ‘ccc’}

d)

    {‘a’, ‘b’, ‘c’}
    abc
    abc
    abc
View Answer

Answer: c
Explanation: The first function prints each element of the set separately, hence the output is: {‘a’, ‘b’, ‘c’}. The second function prints each element of the set thrice, contained in a new set. Hence the output of the second function is: {‘aaa’, ‘bbb’, ‘ccc’}. (Note that the order may not be the same)




8 - Question

8. The output of the following code is: class<’set’>.

type({})

a) True
b) False

View Answer

Answer: b
Explanation: The output of the line of code shown above is: class<’dict’>. This is because {} represents an empty dictionary, whereas set() initializes an empty set. Hence the statement is false.




9 - Question

9. What will be the output of the following Python code snippet?

a=[1, 4, 3, 5, 2]
b=[3, 1, 5, 2, 4]
a==b
set(a)==set(b)

a)

   True
   False

b)

   False
   False

c)

   False
   True

d)

   True
   True
View Answer

Answer: c
Explanation: In the code shown above, when we check the equality of the two lists, a and b, we get the output false. This is because of the difference in the order of elements of the two lists. However, when these lists are converted to sets and checked for equality, the output is true. This is known as order-neutral equality. Two sets are said to be equal if and only if they contain exactly the same elements, regardless of order.




10 - Question

10. What will be the output of the following Python code snippet?

l=[1, 2, 4, 5, 2, 'xy', 4]
set(l)
l

a)

{1, 2, 4, 5, 2, ‘xy’, 4}
[1, 2, 4, 5, 2, ‘xy’, 4]

b)

{1, 2, 4, 5, ‘xy’}
[1, 2, 4, 5, 2, ‘xy’, 4]

c)

{1, 5, ‘xy’}
[1, 5, ‘xy’]

d)

{1, 2, 4, 5, ‘xy’}
[1, 2, 4, 5, ‘xy’]
View Answer

Answer: b
Explanation: In the code shown above, the function set(l) converts the given list into a set. When this happens, all the duplicates are automatically removed. Hence the output is: {1, 2, 4, 5, ‘xy’}. On the other hand, the list l remains unchanged. Therefore the output is: [1, 2, 4, 5, 2, ‘xy’, 4].
Note that the order of the elements may not be the same.

Get weekly updates about new MCQs and other posts by joining 18000+ community of active learners