首页 > 解决方案 > 使用循环创建数组/列表/元组

问题描述

我已经看到了一种使用这种形式的 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]]

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

标签: pythonarraysloops

解决方案


您提到的格式可以正常工作。例如,此代码将创建一个列表,其中所有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)

任何复杂的条件都可以添加到此格式中,i并且j在此处可用(或在范围内)。 M = [[x,i,j] for i range(n) for j in range (m) if <condition> ]


推荐阅读