为什么我的代码无法在由数字(以空格分隔)组成的字符串中找到最大数

2024-04-25 11:44:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我把这个字符串给了我的python代码,我想从中找到最大值。你知道吗

>>> a = ("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6")
>>> a = a.split(" ")
>>> max(a)
>>> 6

有人能解释一下为什么不退回542吗? 最后,我找到了正确的代码:

>>> a = a.split(" ");
>>> a = [int(i) for i in a];
>>> return str(max(a))

但是有人能告诉我我在前一个密码里的愚蠢吗。你知道吗


Tags: 字符串代码in密码forreturnmaxint
3条回答
max(map(int, a.split(" ")))
# 542

您还可以通过传递key来查找最大字符串,就像解释为整数一样

max(a.split(), key=int)

'542'

然后把它变成int

int(max(a.split(), key=int))

542
max([int(x) for x in a.split()])

这将a转换为int列表,并找到正确的max。字符串逐字符比较,比较字符码。你知道吗

max(int(x) for x in a.split())

作为生成器变量,上述方法也可以工作,而无需创建列表。你知道吗

相关问题 更多 >