Python程式:不使用遞迴展平列表
當需要在不使用遞迴技術的情況下展平列表時,可以使用 lambda 函式、'sum' 方法、'map' 方法和 'isinstance' 方法。
列表可以用來儲存異構值(即任何資料型別的資料,如整數、浮點數、字串等)。
‘isinstance’ 方法檢查給定引數是否屬於特定資料型別。
匿名函式是在沒有名稱的情況下定義的函式。通常,Python 中的函式使用 'def' 關鍵字定義,但匿名函式是在 'lambda' 關鍵字的幫助下定義的。它接受一個表示式,但可以接受任意數量的引數。它使用該表示式並返回其結果。
map 函式將給定的函式/操作應用於可迭代物件(如列表、元組)中的每個專案。它返回一個列表作為結果。
‘sum’ 方法將可迭代物件中存在的數值相加。
示例
下面是演示:
my_list = [[[11,[[32]],[[[53]]]],[[64],75]], [[6, 89, 99]]]
flattened_list = lambda my_list: sum(map(flattened_list,my_list),[]) if isinstance(my_list,list) else [my_list]
print("The original list is : ")
print(my_list)
print("The flattened list is :")
print(flattened_list(my_list))輸出
The original list is : [[[11, [[32]], [[[53]]]], [[64], 75]], [[6, 89, 99]]] The flattened list is : [11, 32, 53, 64, 75, 6, 89, 99]
解釋
- 定義了一個巢狀列表,並在控制檯上顯示。
- 使用 'sum' 方法將元素加起來,並使用 'map' 方法將其應用於每個元素。
- 此操作的結果分配給一個變數。
- 它在控制檯上顯示為輸出。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP