题解 | #字符串排序#

字符串排序

https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584

s = input()

import re

li = list(s)

index_list = []    # 用来储存所有其他字符的索引
new_list = []      # 用来储存所有字母类字符
final_s = ''       # 用来储存最终字符串


for i in range(len(li)):
    if not re.match("[A-Za-z]", li[i]):  #将所有其他字符在原字符串中的索引,储存到列表
        index_list.append(i)
    else:                                #将所有字母类字符,储存到另一个列表
        new_list += li[i]

new_list = sorted(new_list, key=lambda x:x.lower())    #对字母排序



for i in range(len(li)):    # 遍历索引
    if i not in index_list:  # 如果该索引位置不是其他字符,则把排序后的第一个字母放进字符串中
        final_s += new_list.pop(0)
    else:
        final_s += li[i]  #如果该索引位置是其他字符,则根据索引将对应字符放进字符串


print(final_s)

全部评论

相关推荐

10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
Java抽象带篮子:难蚌,点进图片上面就是我的大头😆
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务