Python程序以自定义顺序对字符串进行排序

假设我们有一个字母数字字符串 s。我们必须根据以下条件对其进行排序

  • 所有排序的小写字母都将放在大写字母之前。

  • 所有排序的大写字母都将放在数字之前。

  • 所有已排序的奇数位将置于已排序的偶数位之前。

因此,如果输入类似于 s = "HeLlo1234",那么输出将是 eloHL1324

示例

让我们看下面的实现来更好地理解

def f(c):

   code = 0

   if c.isupper():

      code = 10 ** 3

   elif c.isdigit():

      code = 10 ** 6

      if ord(c) % 2 == 0:

         code = 10 ** 9

   return code + ord(c)

def solve(s):

   l = sorted(s, key=lambda c: f(c))

   return ''.join(l)

s = "HeLlo1234"

print(solve(s))

输入

"HeLlo1234"
输出结果
eloHL1324

以上是 Python程序以自定义顺序对字符串进行排序 的全部内容, 来源链接: utcz.com/z/338630.html

回到顶部