使用遞迴的Python程式來展平巢狀列表
當需要使用遞迴技術展平給定的巢狀列表時,可以使用簡單的索引和“isinstance”方法以及遞迴。
遞迴計算較大問題的小部分問題的輸出,並將這些部分組合起來,以給出較大問題的解決方案。
示例
下面是相同的演示 -
def flatten_list(my_list):
if my_list == []:
return my_list
if isinstance(my_list[0], list):
return flatten_list(my_list[0]) + flatten_list(my_list[1:])
return my_list[:1] + flatten_list(my_list[1:])
my_list = [[1,2],[3,4], [90, 11], [56, 78], [[34,56]]]
print("The list is :")
print(my_list)
print("The list after flattening is : ")
print(flatten_list(my_list))輸出
The list is : [[1, 2], [3, 4], [90, 11], [56, 78], [[34, 56]]] The list after flattening is : [1, 2, 3, 4, 90, 11, 56, 78, 34, 56]
解釋
- 定義了一個名為“flatten_list”的方法,它以列表作為引數。
- 它檢查列表中第一個元素的資料型別。
- 如果它與列表匹配,則連線並顯示第一個元素以及第二個元素到最後一個元素。
- 這導致巢狀列表被展平。
- 否則,第一個元素將被排除在外,列表首先被反轉,然後與普通列表組合,並作為輸出返回。
- 在函式外部,定義了一個巢狀列表,並在控制檯上顯示。
- 透過將列表作為引數傳遞來呼叫該方法。
- 輸出顯示在控制檯上。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP