我與nltk.tree.ParentedTree的一個實例的工作,但我覺得這個問題比這更普遍。德爾運營商在任意嵌套表
基本上,我有任意深度嵌套的名單,我想刪除列表中的一部分(雖然我不知道,部分是如何深深嵌套)。我有一個search
功能在列表中查找一個項目,它返回的n
整數,其中n
是被發現的元素的深度元組的發生。
例如,假設我有l = [[['cat', 'dog']], ['fish']]
當我致電search(l, 'dog')
時,它返回(0, 0, 1)
。這是告訴我l[0][0][1] == 'dog'
。如果我知道'dog'
發生在(0, 0, 1)
時間提前,我可以做del l[0][0][1]
從列表中刪除。但我不知道,所以我需要以編程方式做同樣的事情。
我可以通過做
indices = search(l, 'dog')
for i in indices:
l = l[i]
所以現在l
是'dog'
訪問列表元素'dog'
。但是,我不確定如何從列表中刪除它。我不只是想將它設置爲None
。
'S /發燒友/醜陋和比較繞口/'。一行和函數式編程並不總是更好。 – delnan
我認爲醜陋和令人費解的是在旁觀者的眼睛,因爲它代表了相當類似的語句幾乎相同的邏輯,但我會給予它更神祕的,因爲它不是基本語法的用法正好。 –