华为机考入门python3--(26)牛客26-字符串排序

分类:字符串

知识点:

  1. 字符串是否仅由字母构成    my_str.isalpha()

  2. 字母列表按小写排序    letters.sort(key=lambda x: x.lower())

题目来自【牛客】

图片

def custom_sort(input_str):
    letters = []
    non_letters = []
    for char in input_str:
        if char.isalpha():
            letters.append(char)
        else:
            non_letters.append(char)

    # lambda x: x.lower() 是一个匿名函数,它接受参数 x(这里代表列表中的每个字母)并返回一个小写形式的 x。
    # 因此,通过传递 key=lambda x: x.lower(),可以确保在排序时不区分字母大小写。
    letters.sort(key=lambda x: x.lower())

    # 新的字符串
    result = ''
    for char in input_str:
        # 如果是字符则从已排序列表中取出第一个
        if char.isalpha():
            result += letters.pop(0)
        else:
            result += non_letters.pop(0)
            
    return result

# input_str = "Type"
# print(custom_sort(input_str))  # 输出:'epTy'

# input_str = "BabA"
# print(custom_sort(input_str))  # 输出:'aABb'

# input_str = "By?e"
# print(custom_sort(input_str))  # 输出:'Be?y'

input_str = input().strip()
print(custom_sort(input_str))

 

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-25 18:26:34       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-25 18:26:34       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-25 18:26:34       82 阅读
  4. Python语言-面向对象

    2024-05-25 18:26:34       91 阅读

热门阅读

  1. 加载页面 跳转 新页面 vue

    2024-05-25 18:26:34       41 阅读
  2. 前端框架选择指南:React vs Vue vs Angular

    2024-05-25 18:26:34       33 阅读
  3. 设计模式--策略模式

    2024-05-25 18:26:34       32 阅读
  4. React hooks - useRef

    2024-05-25 18:26:34       34 阅读
  5. MybatisPlus优雅实现加密?

    2024-05-25 18:26:34       33 阅读
  6. arm-day6控制灯

    2024-05-25 18:26:34       34 阅读
  7. Apache Doris 2.1.3 版本正式发布!

    2024-05-25 18:26:34       30 阅读
  8. 【前端每日基础】day30

    2024-05-25 18:26:34       30 阅读
  9. 二叉树的序列化---广义表

    2024-05-25 18:26:34       36 阅读
  10. go全部版本下载目录

    2024-05-25 18:26:34       32 阅读
  11. C++

    2024-05-25 18:26:34       33 阅读