Хорошо, я думаю, что знаю, что вы после ...
Итак, у вас есть список из 31 цвета. Скажем, для аргумента это список из 31 строки, как это ...
colours = [ "Black", "DarkBlue", "DarkGreen", ... "White" ]
А 'c' - это массив чисел в диапазоне от 0 до 31, но в случайном порядке ...
import random
c = [x for x in xrange(32)]
random.shuffle(c)
# 'c' now has numbers 0 to 31 in random order
# c = [ 2, 31, 0, ... 1]
И то, что вы хотите сделать, это отобразить значения в c как индекс в список цветов, чтобы в итоге вы получили список цветов в том виде, как они проиндексированы c и в этом порядке ...
mapped = [color[idx] for idx in c]
# mapped has the colors in the same order as indexed by 'c'
# mapped = ["DarkGreen", "White", "Black", ... "DarkBlue"]
Если это не то, что вы хотите, вам нужно пересмотреть свой вопрос!
Я думаю, у вас есть основная проблема в том, что в вашем списке цветов должно быть 32 элемента (цвета), а не 31, если список 'c' - это случайное перемешивание всех чисел в диапазоне от 0 до 31 (это 32 числа, вы видите).