【问题标题】:Return a flatten list from my recursive function in Python [duplicate]从 Python 中的递归函数返回一个展平列表 [重复]
【发布时间】:2016-05-27 00:27:15
【问题描述】:
def flatten(aList):
    if len(aList) == 1:
        return aList
    else:
        return flatten(aList[:-1])]

我希望它返回原始列表的扁平列表,传递给函数。将这个列表传递给它后,它只返回第一个元素。

List = [68, -99,"abc", -8,100, [-92, 89, 81, 96]]
flatten(List)

【问题讨论】:

  • 当然。在 StackOverflow 中搜索有关在 Python 中展平列表的问题。
  • this 回答。

标签: python list recursion flatten


【解决方案1】:

试试这个

List = [68, -99,"abc", -8,100, [-92, 89, 81, 96]]

result = []
def flatten(my_list):
    for i in my_list:
        if isinstance(i, list):
            return flatten(i)
        else:
            result.append(i)
    return result

print(flatten(List))

【讨论】:

  • 这样更好!谢谢
猜你喜欢
  • 1970-01-01
  • 2011-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-03
  • 2010-10-09
  • 2012-09-10
  • 2020-08-24
相关资源
最近更新 更多