in Python 3.6 and numpy, what does the comma mean or do in "predictors[training_indices,:]"
In your code predictors is a two dimensional array. You're taking a slice of the array. Your output will be all the values with training_indices as their index in the first axis. The : is slice notation, meaning to take all values along the second axis.
This kind of indexing is not common in Python outside of numpy, but it's not completely unique. You can write your own class that has a __getitem__ method, and interpret it however you want. The slice you're asking about will pass a 2-tuple to __getitem__. The first value in the tuple will be training_indices, and the second value will be a slice object.
I am in an online course, and I find I do not understand this expression:

predictors[training_indices,:]

predictors is an np.array of floats.
training_indices is a list of integers known to be indices of predictors, so 0=< i < len(training_indices)).
Is this a special numpy expression?
Thanks!