:pythonなぜmax(max(float_2d_array))が間違った答えを出すのですか?例えば
a = [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 1.2852976787772832, 0.00092, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 6.409872844109646, 0.17506688391255013, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
print max(max(a))
print max(a)
結果である:
1.28529767878
[0.0、0.0、1.2852976787772832、0.00092、0.0、0.0、0.0、0.0、0.0]
これは明らかに間違っています。最大値は6.409872844109646です。
b = []
for i in a:
b.extend(i)
print max(b)
6.40987284411
これは、CPythonののpython 2.7です。
ありがとうございました。
なぜあなたは6.409872844109646を期待している:
は、あなたがに持っている最大値はあなたのリストを平らに取得するには? .... 1.2852976787772832は私の最大のようです – deppermnumpyで正しい答えを得ることができます: 'print numpy.max(a)' – Nuageux
'max(a)'からのあなたの期待は正しくありません。それはあなたに最大数を持つリストを与えるつもりはありません。 – yeniv