【问题标题】:Creating an array/list/tuple using loops [duplicate]使用循环创建数组/列表/元组
【发布时间】:2021-09-03 17:22:21
【问题描述】:

我已经看到了一种使用这种形式的 for 循环创建数组/列表的快速方法

M = [[x,i,j] for i range(n) for j in range (m)  if <condition> ]

在这种情况下,代码会创建一个数组M(如果没有指定“条件”)

M = [[x,0,0],...[x,0,m],[x,1,0],...,[x,n,m]]

我想在ij 上添加复杂的条件。使用此方法的一般语法是什么?在哪里可以找到更多文档?

【问题讨论】:

  • 这叫做列表理解。你会发现很多信息
  • 不要。 推导的主要目的是提高可读性,如果您尝试在推导中添加更复杂的条件,您最终可能会得到如下代码根本不可读。

标签: python arrays loops


【解决方案1】:

你提到的格式没问题。例如,此代码将创建一个列表,其中所有 is 都是偶数,所有 js 都是 3 的倍数。

m, n = 10, 10
M = [['x', i, j] for i in range(n) for j in range (m) if (i%2 == 0 and j%3 == 0)]
print(M)

任何复杂的条件都可以添加到这种格式中,ij 在此处可用(或在范围内)。 M = [[x,i,j] for i range(n) for j in range (m) if &lt;condition&gt; ]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-17
    • 2016-05-08
    • 2018-09-28
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 2021-03-24
    • 2018-11-13
    相关资源
    最近更新 更多