簡體   English   中英

遞歸 - 字符串和列表的列表

[英]Recursion - list of strings and lists

是否可以使用遞歸將字符串列表和列表轉換為通常的(普通)列表(這只是一個例子。列表可能更深更復雜)

我還不太擅長遞歸,任何幫助或提示將不勝感激!

遞歸的一般思想是將問題分解為更小的部分——弄清楚如何解決最簡單的情況,然后以將它們縮小到最簡單情況的方式表達更復雜的情況。

>>> def flatten(nested):
...     flat = []
...     for i in nested:
...         if isinstance(i, list):
...             flat.extend(flatten(i))
...         else:
...             flat.append(i)
...     return flat
... 
>>> flatten(['hello', ['hey', 'heey', ['hey']], 'hi', ['hihi']])
['hello', 'hey', 'heey', 'hey', 'hi', 'hihi']

flatten每次調用都需要一個列表/字符串列表,並預期返回一個僅包含字符串的列表。 它通過檢查它的所有元素並flatten列表來做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM