题解 | #字符串排序#

字符串排序

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
全部评论

相关推荐

点赞 评论 收藏
分享
牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务