题解 | #字符串排序#

字符串排序

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)

全部评论

相关推荐

qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-30 18:19
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务