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

Last Updated : 11 Mar, 2022

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[0] denotes [1, [2, 3], 4], L1[0][1] denotes [2, 3],
L1[0][1][1] = 3 and L1[2] = 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` `    ``else` `if``(``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) [[5], 2, 3, 4] [[5], 2, 3, 4] [[5], 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) [[5], 2, 3, 4] [[5], 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4]

```Ans: (d)
Explanation: L2 is the reference pointing to the same object as L1,
while L3 and L4 are single recursive Copy(Shallow Copy) of List L1.
L1[0] = [5], implies that at index 0, list [5] 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.```

Previous
Next