Я пытаюсь оптимизировать код здесь.оптимизировать количество сравнений
if ns=='8':
for i in nodes:
if '02' == i[-2:]:
d[i]='quorum-manager'
if '05' == i[-2:]:
d[i]='quorum-manager'
if '06' == i[-2:]:
d[i]='quorum-manager'
if '09' == i[-2:]:
d[i]='quorum-manager'
Выше i
список имен узлов, например:
i = ['xyz01', 'xyz02', 'xyz03', ...]
Если узлы заканчиваются 02
или 05
или 06
или 09
, я иду вперед и заменить словарные значения для тех, имена конкретных узлов.
Можно ли что-то вроде:
, если имя узла заканчивается в 02
или 05
или 06
или 09
заменить repective значения в словаре в одном кадре вместо сравнения в каждой строке, а затем заменить
Это выглядит родственный: http://stackoverflow.com/questions/36125124/more-efficient-use-of-python-dictionary – Lafexlos
Вы пытаетесь оптимизировать этот код - потому что профилирование сказал вам что сравнения дороги? Не пытайтесь оптимизировать код без измерения. – Daenyth
Это еще не все о скорости выполнения. Усовершенствуйте свой код, когда он явно повторяется и слишком многословен, как в этом случае. Это имеет значение намного больше, чем миллисекунда, которую вы можете сохранить, если вы часто запускаете код. – alexis