8.5. Nested Recap
8.5.1. What is an Object?
Basic types are objects
Iterable are objects too
Everything is an object
tuple.mro()
list.mro()
set.mro()
tuple.mro()
[<class 'tuple'>, <class 'object'>]
list.mro()
[<class 'list'>, <class 'object'>]
set.mro()
[<class 'set'>, <class 'object'>]
8.5.2. Append vs. Extend
from pprint import pprint
data = [1, 2, 3]
data.extend([4, 5, 6])
data
[1, 2, 3, 4, 5, 6]
data = [1, 2, 3]
data.append([4, 5, 6])
data
[1, 2, 3, [4, 5, 6]]
Append elements using list.append()
:
result = [
('Mark', 'Watney'),
('Melisa', 'Lewis'),
('Rick', 'Martinez'),
]
data = ('Alex', 'Vogel')
result.append(data)
pprint(result, width=30)
[('Mark', 'Watney'),
('Melisa', 'Lewis'),
('Rick', 'Martinez'),
('Alex', 'Vogel')]
Append elements using list.extend()
:
result = [
('Mark', 'Watney'),
('Melisa', 'Lewis'),
('Rick', 'Martinez'),
]
data = ('Alex', 'Vogel')
result.extend(data)
pprint(result, width=30)
[('Mark', 'Watney'),
('Melisa', 'Lewis'),
('Rick', 'Martinez'),
'Alex',
'Vogel']
8.5.3. Use Case - 1
One dimensional (1D) structure - vector
data = [1, 2, 3]
Is equivalent to:
obj1 = 1
obj2 = 2
obj3 = 3
data = [obj1, obj2, obj3]
8.5.4. Use Case - 2
Two dimensional (2D) structure - matrix
data = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]
Is equivalent to:
obj1 = [1, 2, 3]
obj2 = [4, 5, 6]
obj3 = [7, 8, 9]
data = [obj1, obj2, obj3]