この関数は、数値の2次元テーブル(数値リストのリスト)である1つの引数を取り、リストを返します表中の最大要素の位置を示す2つの数字からなる。たとえば、最大要素のうちtable [2] [0]は、関数[2、0]を返します。あなたがしたくない場合は数値リストの2Dテーブルとテーブル内の最大要素の位置を示す2つの数字のリストを返す
from itertools import chain
def maxPos2D(table):
chained_list = list(chain(*table)) # create single list from table
max_val = max(chained_list) # find max value in list
max_index = chained_list.index(max_val) # find index of max value
columns = len(table[0]) # number of columns
return [max_index/columns, max_index%columns] # return [column, row]
:あなたはとしてitertools.chain()
を使用することができ
def maxPos2D(table):
l = []
for i in range(len(table)):
for j in i:
if i > table:
continue
table[i][j] += 0
return l
私はあなたの例をあまりよくしません。関数に実際に有効な有効な入力と正確な有効な出力を与えることができますか? – idjaw
あなたのコードで現在動作していないことを説明してください。また、あなた自身のインデントを修正して、コードが自分のコードの正確な表現であることを確認した場合は、助けになります。 – idjaw
私は機能が何をするべきかのスクリーンショットを持っています。私は、最大の数字がリストのリストにあるところでインデックスを特定するはずです。だから、私はインデックスの行と列を見つけようとしています。リストのリストの中で最大の数字が60で、それが最初のリストの最後の数字だった場合、私の関数は[0,2]を返します。私はちょうど非常に混乱していて、どこから始めるべきか分からない。 – tholme