使用Python查找字符串中第二大的数字

使用Python查找字符串中第二大的数字

假设有一个字符串s,里面既有字母又有数字,我们要找到出现在s中第二大的数字。如果没有这样的数字,那么返回-1。

所以,如果输入是s =“p84t3ho1n”,则输出将是4,因为数字是[1,3,4,8],因此第二大的数字是4。

为了解决这个问题,我们将按照以下步骤进行 –

  • 将lst设置为空的新集合

  • 对于s中的每个字符,执行以下操作

    • 如果字符不是字母,则插入该整数到lst中
  • 如果lst的大小小于等于1,则返回-1

  • 排序lst并返回倒数第二个元素

接下来看下面的实现以更好的理解 –

更多Python相关文章,请阅读:Python 教程

例子

def solve(s):
   lst = set()
   for let in s:
      if not let.isalpha():
         lst.add(int(let))
   if len(lst) <= 1:
         return -1
   return sorted(list(lst))[len(lst) - 2]
s = "p84t3ho1n"
print(solve(s))

输入

"hello", "hlelo"

输出

True

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程