1
如何寫一個列表理解來訪問列表中的每個元素,和兩個相鄰的兩邊?如何構建列表理解,需要在每次迭代期間訪問列表中的多個元素?
我想訪問每個元素,並在兩邊相鄰,應用函數,並返回結果作爲列表的新值。
在for循環中,很容易:
lst=[1, 30, 40, 2, 7, 8, 9, 22, 7, 8, 44, 39, 2, 1, 0, 88, 17]
for ii in list(range(3,len(lst)-3)):
vals=lst[ii-2:ii+3]
new_val=np.mean(vals)
lst[ii]=new_val
如何將一個訪問列表中的理解這些元素 - 即沒有能夠通過元素位置來訪問?
目的是加快循環!循環中的處理需要很長時間。 – EHB
將循環更改爲列表理解對性能沒有多大幫助。 – kindall
考慮到您使用的是NumPy,您不應該使用列表或列表解析。 (另外,'new_val'計算使用了舊值和新值的混合,看起來並不是這個意圖。) – user2357112