Python程序查找不同于n的i+j+k的三元组列表

Python程序查找不同于n的i+j+k的三元组列表

假设我们有三个数字i、j和k和另一个数字n。我们需要查找所有三元组(i,j,k)的列表,其中i+j+k不等于n。我们需要使用列表推导策略解决此问题。

因此,如果输入为i = 1,j = 1,z = 2和n = 3,则输出为[[0,0,0], [0,0,1],[0,0,2],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,2]]

解决此问题,我们将遵循以下步骤-

  • arr =所有x在范围内的三元组[x,y,z]的数组,从0到i,所有y在范围从0到j,所有z在范围0到k内,当x+y+z不等于n时

示例

让我们看一下以下实现,以获得更好的理解-

def solve(i, j, k, n):
    arr = [[x, y, z] for x in range(i+1) for y in range(j+1) for z in range(k+1) if x+y+z != n]
    return arr

i = 1
j = 1
k = 2
n = 3
print(solve(i, j, k, n))

输入

1, 1, 2, 3

输出

[[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 2]]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程