【问题标题】:Python. List comprehension. List in the list and so on [closed]Python。列表理解。列表中的列表等[关闭]
【发布时间】:2017-12-02 09:52:52
【问题描述】:

列表理解是否可以这样做。例如,如果我调用函数 f4(5),它应该显示为:[[[[[]]]]]。所以每次都在前一个列表中追加空列表。

【问题讨论】:

  • 列表理解的目的是什么?

标签: python list-comprehension


【解决方案1】:

您可以将列表附加到自身,由于列表是可变的,因此会引发递归,导致无限嵌套的列表可以被索引直到递归限制。 Python 使用省略号占位符来显示:

>>> lst = []
>>> lst.append(lst)
>>> lst
[[...]]
>>> lst[0][0][0][0][0]
[[...]]

但是,我可以想象这根本没有实际用途。

【讨论】:

    【解决方案2】:
    def f(x):
        if x == 1:
            return []
        return [f(x-1)]
    
    print(f(5))
    

    输出:

    [[[[[[]]]]]]
    

    【讨论】:

    • 称为递归函数。
    【解决方案3】:

    我看不出它有什么实际用途,但当然有可能。

    def f(n):
     return [f(n - 1)] if n > 1 else []
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-26
      • 2017-02-27
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-03
      相关资源
      最近更新 更多