Python Slicing
names = ['john', 'paul', 'george', 'ringo']
# Defeat Laziness - With constructor, not literal!
list(enumerate(names))
[(0, 'john'), (1, 'paul'), (2, 'george'), (3, 'ringo')]
list((i - len(names), n)
for i, n in enumerate(names))
[(-4, 'john'), (-3, 'paul'), (-2, 'george'), (-1, 'ringo')]
['john', 'paul', 'george']
['ringo']
['george', 'ringo']
# Shallow Copies
names2 = names[:]
names[0] is names2[0]
True
True
False
['ringo', 'george', 'paul', 'john']
[0, 3, 6, 9]
# Slicing a string
filename = 'resume.pdf'
filename[:4]
'resu'
'pdf'
'fdp.emuser'
References