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
)的效率如何。
每次调用该函数都会创建一个对象吗?如果是这样,拥有全局变量会更有效吗?
答案 0 :(得分:1)
正如亚当·斯密(Adam Smith)所述,参数是通过对象分配传递的,因此,在循环中迭代时,completeImageSet的值不应更改。
您还可以使用列表理解来简化事情;
oldImageList = [oldest_image(filtered_ImageIds(completeImageSet, server)) for server in serverList]