Related Articles

# Output of python program | Set 12(Lists and Tuples)

• Difficulty Level : Medium
• Last Updated : 05 Feb, 2021

Prerequisite: List and Tuples
Note: Output of all these programs is tested on Python3

1) What is the output of the following program?

## PYTHON

 `L1 ``=` `[]``L1.append([``1``, [``2``, ``3``], ``4``])``L1.extend([``7``, ``8``, ``9``])``print``(L1[``0``][``1``][``1``] ``+` `L1[``2``])`

a) Type Error: can only concatenate list (not “int”) to list
b) 12
c) 11
d) 38
Ans. (c)
Explanation: In the print(), indexing is used. L1 denotes [1, [2, 3], 4], L1 denotes [2, 3],
L1 = 3 and L1 = 8. Thus, the two integers are added, 3 + 8 = 11 and output comes as 11.
2) What is the output of the following program?

## PYTHON

 `L1 ``=` `[``1``, ``1.33``, ``'GFG'``, ``0``, ``'NO'``, ``None``, ``'G'``, ``True``]``val1, val2 ``=` `0``, ''``for` `x ``in` `L1:``    ``if``(``type``(x) ``=``=` `int` `or` `type``(x) ``=``=` `float``):``        ``val1 ``+``=` `x``    ``elif``(``type``(x) ``=``=` `str``):``        ``val2 ``+``=` `x``    ``else``:``        ``break``print``(val1, val2)`

a) 2 GFGNO
b) 2.33 GFGNOG
c) 2.33 GFGNONoneGTrue
d) 2.33 GFGNO
Ans. (d)
Explanation: val1 will only have integer and floating values val1 = 1 + 1.33 + 0 = 2.33 and val2 will have string values val2 =’GFG’ + ‘NO’ = ‘GFGNO’. String ‘G’ will not be part of val2 as the for loop will break at None, thus ‘G’ will not be added to val2.

3) What is the output of the following program?

## Python3

 `L1 ``=` `[``1``, ``2``, ``3``, ``4``]``L2 ``=` `L1``L3 ``=` `L1.copy()``L4 ``=` `L3``L1[``0``] ``=` `[``5``]``print``(L1, L2, L3, L4)`

a) [5, 2, 3, 4] [5, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4]
b) [, 2, 3, 4] [, 2, 3, 4] [, 2, 3, 4] [1, 2, 3, 4]
c) [5, 2, 3, 4] [5, 2, 3, 4] [5, 2, 3, 4] [1, 2, 3, 4]
d) [, 2, 3, 4] [, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4]
Ans. (d)
Explanation: List L2 is the Shallow copy of L1, while L3 and L4 are Deep Copy(True Copy) of List L1. L1 = , implies that at index 0, list  will be present and not integer value 5.

4) What is the output of the following program?

## PYTHON

 `import` `sys``L1 ``=` `tuple``()``print``(sys.getsizeof(L1), end ``=` `" "``)``L1 ``=` `(``1``, ``2``)``print``(sys.getsizeof(L1), end ``=` `" "``)``L1 ``=` `(``1``, ``3``, (``4``, ``5``))``print``(sys.getsizeof(L1), end ``=` `" "``)``L1 ``=` `(``1``, ``2``, ``3``, ``4``, ``5``, [``3``, ``4``], ``'p'``, ``'8'``, ``9.777``, (``1``, ``3``))``print``(sys.getsizeof(L1))`

a) 0 2 3 10
b) 32 34 35 42
c) 48 64 72 128
d) 48 144 192 480
Ans. (c)
Explanation: An Empty Tuple has 48 Bytes as Overhead size and each additional element requires 8 Bytes.
(1, 2) Size: 48 + 2 * 8 = 64
(1, 3, (4, 5)) Size: 48 + 3 * 8 = 72
(1, 2, 3, 4, 5, [3, 4], ‘p’, ‘8’, 9.777, (1, 3)) Size: 48 + 10 * 8 = 128

5) What is the output of the following program?

## PYTHON

 `T1 ``=` `(``1``)``T2 ``=` `(``3``, ``4``)``T1 ``+``=` `5``print``(T1)``print``(T1 ``+` `T2)`

a) TypeError
b) (1, 5, 3, 4)
c) 1 TypeError
d) 6 TypeError
Ans. (d)
Explanation: T1 is an integer while T2 is tuple. Thus T1 will become 1 + 5 = 6. But an integer and tuple cannot be added, it will throw TypeError.
This article is contributed by Piyush Doorwar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.