题解 | #翻转单词序列#

翻转单词序列

https://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3

题目:
        牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“nowcoder. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a nowcoder.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
题目理解:
       给出一个包含多个单词的句子, 希望将 单词顺序序列进行翻转;【注意,不翻转单词,只是将单词的顺序翻转一下】
比如,输入: nowcoder. a am I
           输出:I am a nowcoder.

实现逻辑:
       上一题,我们学习了Python的切片操作,它支持将列表的序列反向输出; 所以,目前的思路是,将输入的string 依次读入一个列表中保存; 然后将列表从最后一个输出;
实现代码:
class Soultion:
    def ReverseSentence(self, s):
        if (s == ""):
            return ""
        else:
            # 将串依次保存到列表中;
            s_list = s.split(' ')
            # 将列表内容的次序翻转后,返回;
            return ' '.join(s_list[::-1])
        
test = Soultion()
s = input("请输入一句话:")
print ("反转后的结果是:" + test.ReverseSentence(s))
扩展学习:
1、split函数
       split 是Python的一个内置函数,用来对字符串进行分隔,分隔后的字符串以列表的形式返回;
split 的语法:
string.split("分隔符", 分隔次数)
1)string 为一个字符串变量;
2)参数1: 分隔符,表示split 会以参数1作为分隔条件,
         参数1 可以为空,当参数1为空时,默认以空格、\t、\n 为分隔符;
3)参数2: 表示执行分隔的次数,如果参数2为空,则默认全部分隔;
一、不带参数的用法,举个例子:
string_1 = "www.com aaa bbb 1234566.jpg"
string_2 = "www.com\taaa\tbbb\t1234566.jpg"
string_3 = "www.com\naaa\nbbb\n1234566.jpg"

则有如下执行结果:
print string_1.split()
['www.com', 'aaa', 'bbb', '1234566.jpg']
print string_2.split()
['www.com', 'aaa', 'bbb', '1234566.jpg']
print string_3.split()
['www.com', 'aaa', 'bbb', '1234566.jpg']

二、带参数1的用法,举个例子:
string_1 = "www.com:aaa:bbb:1234566.jpg"
有如下执行结果:
print string_1.split(':')
['www.com', 'aaa', 'bbb', '1234566.jpg']

三、带参数2的用法,举个例子:
string_1 = "www.com:aaa:bbb:1234566.jpg"
有如下执行结果:
print string_1.split(':', 1)
['www.com', 'aaa:bbb:1234566.jpg']
print string_1.split(':', 2)
['www.com', 'aaa', 'bbb:1234566.jpg']
print string_1.split(':',3)
['www.com', 'aaa', 'bbb', '1234566.jpg']
2、join函数
      上面的split函数,是用于将字符串拆分成列表, 那么这个函数就是反向操作,用于将序列中的元素使用指定的拼接符拼接成字符串;
    
join语法:
str.join(sequence)
1) str:表示字符串;
2)sequence: 表示待拼接的序列,可以是列表,元组和字典;

举个例子:
用法一:
str='-'
a = ["hello", "world"]
print str.join(a)
输出结果为:hello-world

用法二:
a = ["hello", "world"]
print '-'.join(a)
[备注]:被拼接的序列,需要是字符串序列,否则会报错;
   如,如果将 序列修改为: a = [1,2,3,4]
   执行 print '-'.join(a) 会直接报错;

全部评论

相关推荐

如题,字节跳动怎么才能看到自己的面评,找hr说看不到
SoulStar:自己应该看不到,这个是字节比较保密的信息,之前有mentor加我,说他能看到,但是不能给我说,给我说了他可能就要被辞退了
点赞 评论 收藏
分享
11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
去B座二楼砸水泥地:不过也可以理解,这种应该没参加过秋招
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务