题解 | #字符串排序#

字符串排序

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

讨论中很多答主的isalpha函数我没听说过,不知道具体作用

  1. 平常re模块用的多,所以就用正则去匹配了
  2. 用同一个循环处理index和value,把非字母的index和value存储到map中去
  3. 基于str.upper忽略大小写走排序
  4. 然后遍历map将对应的值按照index插入进去。最后打印
import re
pattern = re.compile('[A-Za-z]{1}')
while True:
    try:
        line = input()
        other_map = {}
        letter_str = ''
        for index, case in zip(range(len(line)),line):
            if pattern.search(case):
                letter_str += case
            else:
                other_map[index] = case
        letter_str = sorted(letter_str, key=str.upper)
        for k,v in other_map.items():
            letter_str.insert(k, v)
        print(''.join(letter_str))
    except EOFError: 
        break
全部评论

相关推荐

测试糕手手:社会第一课,随便吹牛逼,直接说四个月,别老实。老实人只会被欺负
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
一表renzha:手写数字识别就是一个作业而已
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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