python - 使用循环创建数组/列表/元组
问题描述
我已经看到了一种使用这种形式的 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
。使用此方法的一般语法是什么?在哪里可以找到更多文档?
解决方案
您提到的格式可以正常工作。例如,此代码将创建一个列表,其中所有i
s 都是偶数,并且所有j
s 都是 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> ]
推荐阅读
- sql - 更新 SQL 查询以删除左括号 sysbol 后的所有字符
- angular - 自定义组件不重复但被替换
- react-native - 使用 redux-thunk 时,操作可能没有未定义的“类型”属性错误
- asp.net-web-api - PushStreamContent 和流/序列化过程中的异常
- r - 根据空值的条件将同一数据框中的两列合并到新列
- r - 我可以从 R 中的布雷柯蒂斯矩阵中提取某些相异值吗?
- r - 在R中组合两行
- java - Dijkstra 算法和 A* 算法的问题
- sql - 分隔符未显示在配置单元的表描述中
- laravel - Laravel 5.7 - 当键可能变化时忘记或从集合中除外