Ответы, которые уже опубликованы, хороши, но если вам нужна альтернатива, вы можете посмотреть на numpy и его массивы.
>>> import numpy as np
>>> a = np.array([11, -1, -1, -1])
>>> msg = np.array(['one','two','tree','four'])
>>> a < 0
array([False, True, True, True], dtype=bool)
>>> msg[a < 0]
array(['two', 'tree', 'four'], dtype='|S4')
Я не знаю, как индексирование массивов реализовано в numpy, но обычно оно быстро и, вероятно, переписано на C. По сравнению с другими решениями это должно быть более читабельным, но для него требуется numpy.