0

假设我有一个列表

x = [[1,2,3],[5,4,20],[9,100,7]]

我想要类似的东西:

xcor = x - min(x) #should return [[0,1,2],[1,0,16],[2,93,0]]
4

3 回答 3

1
[[y-m for y in q] for (q,m) in [[q,min(q)] for q in x]]
于 2013-10-18T14:31:01.570 回答
0

好吧,试试你说的。

首先找到最小值,然后编辑现有列表或创建一个新数组。

最低限度是这样的:

def min_value(x):
    min = x[0]
    for i in range(len(x)):
        if x[i] < min:
            min = cell
    return min

或者这个

def subtract_min_from_each_list(x):
    for i in range(len(x)):
        min = min_value(x[i])
        for j in range(len(x[i])):
            x[i][j] = x[i][j] - min
    return x

或这个

def get_subtracted_list(x):
    new_x = []
    for i in range(len(x)):
        temp = []
        min = min_value(x[i])
        for j in range(len(x[i])):
            temp.append(x[i][j] - min)
        new_x.append(temp)
    return new_x

对您的清单采取行动。

于 2013-10-18T14:31:31.353 回答
0

你可以尝试在python中跟随

x = [[1,2,3], [5,4,20], [9,100,7]]

for n in range(len(x)):
    pivot = x[n][n]
    for m in range(len(x[0])):
        x[n][m] = x[n][m] - pivot

print x
于 2013-10-18T14:39:34.540 回答