题解 | #字符串排序#

字符串排序

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)

全部评论

相关推荐

昨天 15:12
门头沟学院 Java
别人在上班,我就在工位上看看视频啥的,这正常吗?
程序员小白条:实习就是摸鱼,只是公司指标,把你进来了,可能那时候客户很多,但等你进来的时候,已经是淡季了,根本没多少需求,或者说根本不适合实习生去完成,因此你就每天干坐着就行,可能1,2个月都没需求
实习生的蛐蛐区
点赞 评论 收藏
分享
05-21 15:47
门头沟学院 Java
浪漫主义的虹夏:项目有亮点吗,第一个不是纯玩具项目吗,项目亮点里类似ThreadLocal,Redis储存说难听点是花几十分钟绝大部分人都能学会,第二个轮子项目也没体现出设计和技术,想实习先沉淀,好高骛远的自嗨只会害了自己
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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