Skip to main content
 首页 » 编程设计

python之从字符串中获取最大数量

2025年05月04日13sky-heaven

我有以下“数字”,它们实际上是正则表达式中的字符串:

nums = ['1', '4', '9', '10'] 

我想获得最大值,即 10。有没有比列表理解更简洁的方法来做到这一点,例如:

>>> max(nums) 
'9' 
>>> max([int(item) for item in nums]) 
10 

否则,它会给我 9。

请您参考如下方法:

max 有一个关键字参数 key,它接受一个可调用对象,在比较它们之前以某种方式转换值。

>>> max(nums, key=int) 

这与您的列表理解 max(int(item) for item in nums) 基本相同,只是需要注意的是返回的是原始值 ,而不是转换后的值。这意味着:

>>> a = max(nums, key=int) 
>>> b = max(int(item) for item in nums) 
>>> repr(a), repr(b) 
('10', 10)