如何找到2D列表的最大周围值?

时间:2018-02-26 18:33:42

标签: arrays python-3.x parsing math

您有一个类似下面的列表

list =  [ 
        [1,7,1,5,6],
        [1,8,9,1,5],
        [1,1,10,1,5],
        [2,1,1,1,1],
        [1,1,1,1,1]
]

从列表中间开始,您将如何分析周围的数字并将您的位置更改为具有最大值的位置。所以在这种情况下

arr[2][2] (10) -> arr[1][2] (9) -> arr[1][1] (8) -> arr[0][1] (7)

从数组中间开始的含义如何只选择值

[8,9,1]
[1,10,1]
[1,1,1]

然后对任何具有最大价值的位置做同样的事情[9]。

到目前为止我所拥有的:

midLow=0
midHigh=0
rowLow=0
rowHigh = 0
# -- Columns -- 
evenOddCol = (len(arr)%2) # Find if there are even/off number of items in the list 
mid = (len(arr)/2) # Define Middle row 

if evenOddCol == 1: # If number of rows is odd, make no changes 
    mid = mid
else: # If number of rows is even, define the upper/lower list
    midLow = mid-1
    midHigh = mid
# -- Rows -- 
rowLen = (len(arr[1])) # Length of an arbitary row
evenOddRow = ((rowLen)%2) # Does row have an even/off number of elements 
rowMid = (rowLen/2) # Define the middle of the row 

if evenOddRow == 1: # If the number of rows is odd, make no changes
    rowMid = rowMid
else: # If the number of rows is even, define the upper/lower rows 
    rowLow = rowMid-1
    rowHigh = rowMid

# -- Logic --

return arr[mid][rowMid]

返回10,即2d列表数组的中间值。

返回中间值后,您必须确定最高的周围值。不知道该怎么做。

0 个答案:

没有答案