I have a list of tuples which represent the coordinates of a shape - "points"

I also have a list of index values which identify the starting point for each part of that shape (since a shape can contain one or more 'islands') - "parts"

Currently, to extract a part's points from the points list I do the following:

```
points = [
    (0, 0), (1, 0), (2, 1), (3, 2), (0, 0),
    (4, 5), (5, 4), (3, 6), (2, 9), (4, 5),
    (2, 2), (3, 2), (6, 4), (4, 4), (8, 6), (4, 3), (2, 2)
]

parts = [0, 5, 10]

for index, part in enumerate(parts):
    start = part

    try:
        end = parts[index + 1]
    except Exception:
        end = len(points)

    print(points[start:end])

```

However, this does not feel particularly Pythonic to me. To be honest, the use of the exception just feels downright dirty. Can anyone suggest an improved Python v3 methodology for this particular problem?