# Functional Programming
scientists = [
    {'name': 'Ada Lovelace', 'field': 'math', 'born': 1815, 'nobel': False},
    {'name': 'Emy Noether', 'field': 'math', 'born': 1882, 'nobel': False}
]

# must always use immutable data structures while using functional programming style
import collections
Scientist = collections.namedtuple('Scientist', [
    'name',
    'field',
    'born',
    'nobel',
])

Scientist(name='Ada Lovelace', field= 'Math', born='1815', nobel=False)
# nameed tuple instance is immutable

scientists
36b05b884c854ad039e23de05786b4f8137e8151
<mask token>

<mask token>
Scientist(name='Ada Lovelace', field='Math', born='1815', nobel=False)
scientists

scientists = [{'name': 'Ada Lovelace', 'field': 'math', 'born': 1815,
    'nobel': False}, {'name': 'Emy Noether', 'field': 'math', 'born': 1882,
    'nobel': False}]
<mask token>
Scientist = collections.namedtuple('Scientist', ['name', 'field', 'born',
    'nobel'])
Scientist(name='Ada Lovelace', field='Math', born='1815', nobel=False)
scientists

scientists = [{'name': 'Ada Lovelace', 'field': 'math', 'born': 1815,
    'nobel': False}, {'name': 'Emy Noether', 'field': 'math', 'born': 1882,
    'nobel': False}]
import collections
Scientist = collections.namedtuple('Scientist', ['name', 'field', 'born',
    'nobel'])
Scientist(name='Ada Lovelace', field='Math', born='1815', nobel=False)
scientists

# Functional Programming
scientists = [
    {'name': 'Ada Lovelace', 'field': 'math', 'born': 1815, 'nobel': False},
    {'name': 'Emy Noether', 'field': 'math', 'born': 1882, 'nobel': False}
]

# must always use immutable data structures while using functional programming style
import collections
Scientist = collections.namedtuple('Scientist', [
    'name',
    'field',
    'born',
    'nobel',
])

Scientist(name='Ada Lovelace', field= 'Math', born='1815', nobel=False)
# nameed tuple instance is immutable

scientists