如何用Python列表推导式生成长方体所有符合条件的三维坐标列表
实现代码
直接使用嵌套迭代的列表推导式即可实现需求,示例代码如下:
# 可自行替换x、y、z、n的实际取值 x, y, z, n = 2, 3, 1, 4 res = [(i, j, k) for i in range(x + 1) for j in range(y + 1) for k in range(z + 1) if i + j + k != n] print(res)
逻辑说明
range(x+1)对应i的取值范围为0到x的闭区间,符合0≤i≤x的要求,j、k的取值逻辑同理- 三层迭代遍历所有可能的三维坐标组合,末尾的判断条件直接过滤掉三个坐标之和等于n的无效项
- 最终返回的res即为所有符合要求的坐标元组组成的列表
内容的提问来源于stack exchange,提问作者Saahil Shaikh
相关产品推荐
相关产品推荐

