题解 | 字符串排序

字符串排序

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

s = input()
is_alpha = []
not_alpha = []
mark = []
for i in range(len(s)):
    if s[i].isalpha():
        is_alpha.append(s[i])
    else:
        mark.append(i)
        not_alpha.append(s[i])

is_alpha.sort(key = lambda x:x.lower())

iter_is = iter(is_alpha)
iter_not = iter(not_alpha)

output = ''
for i in range(len(s)):
    if i not in mark:
        output += next(iter_is)
    else:
        output += next(iter_not)

print(output)

1.筛选字母分组和非字母分组,字母分组按优先级(小写)排序

2.用迭代器:字母迭代器和非字母迭代器,标记为空格或字符串的位置

3.next

全部评论

相关推荐

03-01 19:30
已编辑
南京大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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