0
我想優化這段代碼:優化雙迴路枚舉
for MajorKey,v in enumerate(data):
for MinorKey,e in enumerate(v['events']):
if e['displayed'] == False:
del data[MajorKey]['events'][MinorKey]
結構:
data : [{ //details,
"events" :[ { //more details,
"displayed" : True},
{ //more details,
"displayed" : False}
]
},
{ //...
}]
data
是一個列表。數據中的每個對象都有一個'events'數組。在這些對象中,我想刪除那些有display == false
的對象。
謝謝。使用'.itervalues()'但是我得到:''list'對象沒有屬性'itervalues''。問題是,爲什麼切片分配更優化?它處理得更快或類似的東西? – Diolor
@Diolor'itervalues()'是python2語法;它只是python3中的'values()'。 – roippi
@Diolor:你確定你問題的結構是否準確?您切片分配,因爲那樣您就不必關心原始值的位置。 –