我想帶一個嵌套列表如何遞歸修改深層嵌套列表的每個值並返回另一個類似的列表?
[[[1,2],[4,5]], 1, [1,3,4],[2,3,4]]
進去遞歸,修改每個值,然後返回一個類似的列表。例如說,我想1添加到每個值輸出將
[[[2,3],[5,6]], 2, [2,4,5],[3,4,5]]
我已經取得了一些進展與進行遞歸函數,其中我測試它是否是一個列表或修改元素這樣做。當談到如何再次編譯列表時,我很難過。沒有一個簡單的方法來做到這一點?以下代碼是我到目前爲止。
def add1(nodelist):
list_of_lists = []
name_nodes.nodes = []
def recurse_list(nodelist):
name_nodes.nodes = []
edit_list = False
for r in nodelist:
if type(r) == list:
recurse_list(r)
else:
edit_list = True
name_nodes.nodes.append(r+1)
if edit_list == True:
list_of_lists.append(name_nodes.nodes)
recurse_list(nodelist)
return list_of_lists
這段代碼獲得我下面的輸出
[[2, 3], [5, 6, 2], [2, 4, 5], [3, 4, 5], [3, 4, 5]]
我很驚訝,有沒有某些模塊或一些內置的功能,以更好地處理嵌套列表,因爲有這麼多的問題,處理類似,但不同的行爲。我能找到的最接近的問題是here。但那只是我沒有找到的東西。感謝任何答案。
「如果它是一個列表或修改的[sic]元素」 - 這不能總是以100%的方式在Python中完成。 –