>>> random.seed(3)

>>> for i in range(4): print random.randint(1, len(data))

...

39

89

60

98

>>> for i in range(4): print r[random.randint(1, len(data))]

...

f

7

C

0

from that output it doesn't show that you type random.seed the second time, so it would have continued from the last point in the PRNG and the f 7 C 0 would be wrong

If that's true, then this should be the correct assignment...

>>> random.seed(3)

>>> for i in range(4): print random.randint(1, 162)

...

39

89

60

98

>>> for i in range(4): print random.randint(1, 162)

...

**102**

11

3

136