查找 i+j+k 与 n 不同的三元组列表的 Python 程序
假设我们有三个数字i、j和k以及另一个数字n。我们必须找到i+j+k与n不同的所有三元组(i,j,k)的列表。我们将不得不使用列表理解策略来解决这个问题。
所以,如果输入像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]]
示例
让我们看看以下实现以获得更好的理解-
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]]