from collections import Sequence
def flatten (ragged_lst ):
ret = [flatten (item ) if isinstance (item, Sequence ) else item for item in ragged_lst]
return ret
def main ():
ragg = [1, [2, 3], 4, [5, [6, 7, [8, 9], 10], 11], 12]
print (flatten (ragg ))
if __name__ == '__main__':
main ()
本意是把一个不规则的 list 摊平。关于递归程序,有时候写的是正确的,有时候就不正确。
请教请教