【问题标题】:Trying to understand complex function试图理解复杂的功能
【发布时间】:2020-11-29 18:58:45
【问题描述】:

我正在做这个 AI 项目,我需要创建一个包含任意 5 个连续数字的数组。例如 [[[1],[2],[3],[4],[5]]]。幸运的是,我正在关注一个教程并得到了这条线:Data = [[[i+j] for i in range(5)] for j in range(100)]。我想知道这意味着什么。我对 Python 有很深的了解,但从未使用过这种表示法。

【问题讨论】:

  • 您要查找的搜索词是list comprehensions

标签: python-3.x lambda artificial-intelligence


【解决方案1】:

代码

Data = [[[i+j] for i in range(5)] for j in range(100)]

可以切成两块:

[[i+j] for i in range(5)]

[[[i+j] for i in range(5)] for j in range(100)]

它们都包含list comprehension。让我们评估第一个。

[[i+j] for i in range(5)]

这类似于:

elements = []
for i in range(5):
    elements.append([i + j]) 

产生:

[[0], [1], [2], [3], [4]]

外部循环执行此任务一百次,但每次运行将内部循环起始值增加 1。所以我们生成了 100 个列表,包含 5 个元素的列表,每个列表包含 1 个元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 2015-12-02
    • 1970-01-01
    • 2018-12-17
    相关资源
    最近更新 更多