Python Questions and Answers Part-26

1. Is the following Python code valid?
>>> a,b,c=1,2,3
>>> a,b,c
a) Yes, [1,2,3] is printed
b) No, invalid syntax
c) Yes, (1,2,3) is printed
d) 1 is printed

Answer: c
Explanation: A tuple needn’t be enclosed in parenthesis.

2. Is the following Python code valid?
>>> a,b=1,2,3
a) Yes, this is an example of tuple unpacking. a=1 and b=2
b) Yes, this is an example of tuple unpacking. a=(1,2) and b=3
c) No, too many values to unpack
d) Yes, this is an example of tuple unpacking. a=1 and b=(2,3)

Answer: c
Explanation: For unpacking to happen, the number of values of the right hand side must be equal to the number of variables on the left hand side.

3. What will be the output of the following Python code?
>>> a=(1,2)
>>> b=(3,4)
>>> c=a+b
>>> c
a) (4,6)
b) (1,2,3,4)
c) Error as tuples are immutable
d) None

Answer: b
Explanation: In the above piece of code, the values of the tuples aren’t being changed. Both the tuples are simply concatenated.

4. What will be the output of the following Python code?
>>> a,b=6,7
>>> a,b=b,a
>>> a,b
a) (6,7)
b) Invalid syntax
c) (7,6)
d) Nothing is printed

Answer: c
Explanation: The above piece of code illustrates the unpacking of variables.

5. What will be the output of the following Python code?
>>> import collections
>>> a=collections.namedtuple('a',['i','j'])
>>> obj=a(i=4,j=7)
>>> obj
a) a(i=4, j=7)
b) obj(i=4, j=7)
c) (4,7)
d) An exception is thrown

Answer: a
Explanation: The above piece of code illustrates the concept of named tuples.

6. Tuples can’t be made keys of a dictionary.
a) true
b) false

Answer: b
Explanation: Tuples can be made keys of a dictionary because they are hashable.

7. Is the following Python code valid?
>>> a=2,3,4,5
>>> a
a) Yes, 2 is printed
b) Yes, [2,3,4,5] is printed
c) No, too many values to unpack
d) Yes, (2,3,4,5) is printed

Answer: d
Explanation: A tuple needn’t be enclosed in parenthesis.

8. What will be the output of the following Python code?
>>> a=(2,3,1,5)
>>> a.sort()
>>> a
a) (1,2,3,5)
b) (2,3,1,5)
c) None
d) Error, tuple has no attribute sort

Answer: d
Explanation: A tuple is immutable thus it doesn’t have a sort attribute.

9. Is the following Python code valid?
>>> a=(1,2,3)
>>> b=a.update(4,)
a) Yes, a=(1,2,3,4) and b=(1,2,3,4)
b) Yes, a=(1,2,3) and b=(1,2,3,4)
c) No because tuples are immutable
d) No because wrong syntax for update() method

Answer: c
Explanation: Tuple doesn’t have any update() attribute because it is immutable.

10. What will be the output of the following Python code?
>>> a=[(2,4),(1,2),(3,9)]
>>> a.sort()
>>> a
a) [(1, 2), (2, 4), (3, 9)]
b) [(2,4),(1,2),(3,9)]
c) Error because tuples are immutable
d) Error, tuple has no sort attribute

Answer: a
Explanation: A list of tuples is a list itself. Hence items of a list can be sorted.