题解 | #单词倒排#

单词倒排

http://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836

a = input()
for i in a:
    if not i.isalpha():
        a = a.replace(i,' ')
b = a.split()
print(*b[::-1])
全部评论
列表前面加星号作用是将列表中所有元素解开成独立的参数,传入函数,参数数量等于len(data) 字典前面加两个星号,是将字典解开成独立的元素作为形参。 def add(a, b): return a+b data = [4,3] print add(*data) >>> 7 #equals to print add(4, 3) data = {'a' : 4, 'b' : 3} print add(**data) >>> 7 #equals to print add(4, 3)
16 回复 分享
发布于 2022-03-04 10:29
这print里面的*是怎么个用法
11 回复 分享
发布于 2022-01-31 10:22
replace空格这手666
4 回复 分享
发布于 2022-03-01 15:47
str = input() for i in str: if not i.encode('utf-8').isalpha(): #中文排除 str = str.replace(i,' ') print(' '.join(str.split()[::-1]))
2 回复 分享
发布于 2022-05-08 20:41
好家伙,这个多空格处理真是溜啊
1 回复 分享
发布于 2022-03-02 09:57
如果字符串中包含了中文,isalpha()是无法处理中文的,最终replace方法也替换不了,必须要判断字符串是A-Za-z之间的
1 回复 分享
发布于 2022-05-08 01:55
大佬nb
点赞 回复 分享
发布于 2022-03-03 14:34
妙啊,用replace
点赞 回复 分享
发布于 2022-03-03 23:32
这个rplace 我真的是服了 看看我写的代码: import re while True: try: a = input('') l = [] str1= '' for i in range(len(a)): x = a[i] if re.match(r'[a-zA-Z]',x): b = re.match(r'[0-9A-Za-z]',x) str1 = str1+b.group() if i ==len(a)-1: l.append(str1) else: if str1: if 0<len>20: l.append(str1[:20]) str1 = str1[20:] l.append(str1) str1 = '' l.reverse() print(' '.join(l)) except : break</len>
点赞 回复 分享
发布于 2022-04-23 18:29
突然发现楼主没有单词最多20个字母的处理
点赞 回复 分享
发布于 2022-04-23 18:31
妙啊
点赞 回复 分享
发布于 2022-04-26 11:32
不行啊,没有对连续空格进行去重,题目要求要求字符间只能有一个间隔符
点赞 回复 分享
发布于 2022-06-03 15:07
isalpha() 用这个方法不严谨,建议通过ASCII去判断
点赞 回复 分享
发布于 2022-06-23 09:05
s=input() list_s='' for i in s: if ord(i.upper())>=ord('A') and ord(i.upper())<=ord('Z'): list_s+=i else: list_s+=' ' list_s=list_s.split()[::-1] print(' '.join(list_s))
点赞 回复 分享
发布于 2023-04-04 14:33 广东

相关推荐

专心打鱼:互联网搬运工,贴子都要偷
点赞 评论 收藏
分享
119 33 评论
分享
牛客网
牛客企业服务