Как правило, размещение нового используется, чтобы избавиться от стоимости распределения «нормального нового».
Другой сценарий, в котором я использовал его, - это место, где я хотел иметь доступ к указателю к объекту, который еще должен был быть сконструирован, для реализации одноэлементного документа.
Проблема в том, что вы используете sizeOfBucket+1
, который равен 8 + 1 = 9, и вы используете range()
от 0 до 5-1, что означает диапазон (0, 4), который будет работать 4 раза, поэтому у вас есть 9 * 4 = 36 баллов.
Вместо этого вам нужно сделать следующее, чтобы получить 40 цветов: Запустите range
как range(0, len(paletteList[0]))
, что означает range(0, 5)
(0, 1, 2, 3, 4, всего 5 раз) и [117 ] следует использовать sizeOfBucket
, то есть 8. Так что теперь у вас будет 8 * 5 = 40 цветов.
numberOfLevels = 40
sizeOfBucket = int(numberOfLevels / 4)
for x in range(0, len(paletteList[0])-1 ):
templist = list(paletteList[0][x].range_to(paletteList[0][x+1],sizeOfBucket))
for m in templist:
res.append(m)
Редактировать 2
numberOfLevels = 40
sizeOfBucket = int(numberOfLevels / 4)
for x in range(0, len(paletteList[0])-1):
if 0<x<len(paletteList[0])-2:
templist = list(paletteList[0][x].range_to(paletteList[0][x+1],sizeOfBucket+1))
else:
templist = list(paletteList[0][x].range_to(paletteList[0][x+1],sizeOfBucket))
for m in templist:
res.append(m)