3

したがって、ここでの目標は、DEM(または空間的に参照される配列)の各行を反復処理し、最小値(たとえば、低点)を見つけて、その値と関連するインデックスを返すことです。

これはエレガントではありませんが、ループとシードを使用して簡単に値を取得できます。

`lowpts=[]
low=99999
for i in range(len(DEM)):
    for j in range(len(DEM)):
        low1 = DEM[i][j]
        if low1 < low:
            low = low1
    lowpts.append(low)`

しかし、各値に関連付けられた[i] [j]インデックスを保持するにはどうすればよいですか?

理想的には、戻り値は[[i、j、value]、......]になります。

enumerate()を試しましたが、正しく実装する方法がわかりません。また、重複する可能性のある値に注意する必要があるため、lowpts配列に.indexを付けることはできません(Pythonに似ています:配列内の要素を検索します)。

4

1 に答える 1

1

あなたはあなた自身の質問で答えを出しています!

lowpts=[]
low=99999
for i in range(len(DEM)):
    for j in range(len(DEM)):
        low1 = DEM[i][j]
        if low1 < low:
            low = low1
            low_i = i
            low_j = j
    lowpts.append([i,j,low])
于 2013-03-02T23:31:26.747 に答える