You are indexing your timeDiffInt
list with items from that list, if those are integers larger then the length of the list, it will show this error.
Do you want your scatter to contain two colors? One colors for values of 0 and another colors for other values?
You can use Numpy to change your list to zeros and ones:
timeDiffInt = np.where(np.array(timeDiffInt) == 0, 0, 1)
Scatter will then use different colors for both values.
fig, ax = plt.subplots(figsize=(5,5))
ax.scatter(x,y,c=timeDiffInt, s=150, marker='<', edgecolor='none')
edit:
You can create colors for specific values by making a colormap yourself:
fig, ax = plt.subplots(figsize=(5,5))
colors = ['red', 'blue']
levels = [0, 1]
cmap, norm = mpl.colors.from_levels_and_colors(levels=levels, colors=colors, extend='max')
ax.scatter(x,y,c=timeDiffInt, s=150, marker='<', edgecolor='none', cmap=cmap, norm=norm)