-2
我想加快Python中循環的速度。 下面有一個代碼。如何加速python中的簡單循環
for x in dpath.util.search(self.data, "**", yielded=True):
self.contentsList.append(x)
dpath.util.search是生成器。 我怎麼能加速這個簡單的循環?
我想加快Python中循環的速度。 下面有一個代碼。如何加速python中的簡單循環
for x in dpath.util.search(self.data, "**", yielded=True):
self.contentsList.append(x)
dpath.util.search是生成器。 我怎麼能加速這個簡單的循環?
那麼,循環本身是不必要的;你可以讓Python中做一個函數調用的循環&追加工作,而不是與許多電話:
self.contentsList.extend(dpath.util.search(self.data, "**", yielded=True))
我不知道'dpath',但如果'產生= TRUE'是什麼使得它充當生成器,當你批量擴展時,它有時會更快地不作爲生成器,所以如果它返回一個「list」,你可能會放棄這個參數。 – ShadowRanger
首先,感謝您的回答。我測試過它,但不幸的是沒有加速的提高,我想加快近C代碼的速度。我認爲cython是解決它的方法,但我不知道如何將cython應用於此代碼。你能給我一些關於cython的想法嗎? – PJW
你看過[numba](http://numba.pydata.org/)嗎?另外我用[ObjectPath](https://github.com/adriank/ObjectPath)獲得了比dpath更多的成功,但我無法評論兩個 – FujiApple