Как эффективно написать код, в котором аргумент с одинаковым значением передается функции, которая вызывается несколько раз? (Python) - PullRequest
0 голосов
/ 22 марта 2019
def filtered_imagesIds(imageParam,serverId)
   ###code to get subset of data provided using serverId

def oldest_image(filteredImageParam)
   ### code to find oldest image  
mainfunc()
  completeImageSet = (### code to get whole set of ImageIds)
  for server in serverList:
      filteredImageSet = fitered_ImageIds(completeImageSet,server)
      oldestImage = oldest_image(filteredImageSet)
      oldImageList.append(oldestImage)
  print oldImageList

Это грубый скелет моего кода.Как вы можете видеть, я пытаюсь получить самое старое изображение для сервера из отфильтрованного набора изображений, полученных из всего набора изображений.

Я новичок в python и не уверен, насколько это эффективнопередать аргумент с одинаковым значением (completeImageSet) в функцию (filtered_ImageIds), которая будет вызываться несколько раз.

Будет ли объект создаваться при каждом вызове функции?Если это так, было бы более эффективно иметь что-то вроде глобальной переменной?

1 Ответ

1 голос
/ 22 марта 2019

Как упоминал Адам Смит, аргументы передаются при присваивании объекта, поэтому значение completeImageSet не должно изменяться при его повторении по циклу.

Вы также можете упростить задачу, используя вместо этого понимание списка;

oldImageList = [oldest_image(filtered_ImageIds(completeImageSet, server)) for server in serverList]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...