Python 2 Max函数

Bra*_*den 4 python max python-2.7

这是我的代码

def max_array_diff(line):
    return max(line)

line = raw_input().split()
print max_array_diff(line)
print line
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出

9
['1', '9', '2', '-7', '10', '4', '3']
Run Code Online (Sandbox Code Playgroud)

我需要输出为10. raw_input()以字符串形式出现,我已将其转换为列表并尝试从中获取最大值但它仍然返回9而不是10.我做错了什么?

blh*_*ing 6

你应该在分割后将输入转换为整数; 否则你将进行字符串比较max().

更改:

line = raw_input().split()
Run Code Online (Sandbox Code Playgroud)

至:

line = map(int, raw_input().split())
Run Code Online (Sandbox Code Playgroud)

或者,您可以指定intkey对功能max(),这样的比较将基于字符串输入的整数值进行.

更改:

return max(line)
Run Code Online (Sandbox Code Playgroud)

至:

return max(line, key=int)
Run Code Online (Sandbox Code Playgroud)