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
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)
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
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
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
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
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
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
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
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
Explanation: A list of tuples is a list itself. Hence items of a list can be sorted.