python(序列遞迴) 輸出原子級別元素。。。

2022-09-16 12:03:10 字數 909 閱讀 6160

晚上回去複習下原來的資料,返現codebook中有個關於「展開乙個巢狀序列」的話題。

任務說明:序列中的子項可能是序列,子串行的子項仍可能是序列,以此類推,則序列巢狀可以達到任意的深度。需要迴圈遍歷乙個序列,將其中所有的子串行展開成乙個單一的、只具備基本子項的序列。

舉例來說就是形如如下序列a:

a = [(1, [2, 3, (7, 8)],), 4, [5, 6, (9, 10)]],根據資料上的**輸出的結果如下:

(圖1),而我可能對於理解任務中所說的原子級別的元素可能有點問題。我根據自己的理解就是想將這個序列乙個個的吐出來。

例如形如[2, 3, (7, 8)]

和(9, 10)還是可以再拆分的,圖1的結果只是到了第二層時遇到序列就不拆分了,所以自己動手來做個這樣的實現,使得最後的結果如圖2所示:

(圖2)。

實現的**過程其實就是判斷加遞迴。。

**如下:

def flatten(sequence):

for i in sequence:

if isinstance(i, (list, tuple)):

flatten(i)

if not isinstance(i, (list, tuple)):

for subitem in i:

print subitem

else:

print i

看到這樣的文章順便有了自己的想法就順便思考下,感覺這樣的處理還是有應用價值的,記錄下來。。方便以後使用。。。。

VBA巢狀字典的遞迴輸出(序列化)

vba巢狀字典的遞迴輸出 序列化 開發平台 vbe 平台版本上限 未知 平台版本下限 未知 開發語言 vba 簡介 用遞迴的方法將乙個vba的巢狀字典物件全部輸出到文字框內。最近筆者的工作中使用到了vba的dictionary 字典 物件,這種物件是一種鍵值對物件,表現形式為 key item 其中...

python實現輸出乙個序列的所有子串行示例

如下所示 def sub arr finish size len a程式設計客棧rr end 1 size end 2 size for index in range end shift index array for j in range size 00,01,10,11 is symmetric...

python 實現一級中文排序,並輸出

目標 從txt檔案中取出除了注釋以外的一級中文,按拼音排序並輸出 實現 1.需要 安裝 pypinyin 模組 pip install pypinyin 如下 coding utf 8 import re import os from pypinyin import 去除重複的字元 def str ...