使用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