语句逆序,字符串分离与连接

一个简单翻转语句的题目,我写了20多行的代码,结果别人一行就搞定了

Input: "Let's take LeetCode contest"
Output: "s'teL ekat edoCteeL tsetnoc"

我的

class Solution:
    def reverseString(self, s0):
        """
        :type s: str
        :rtype: str
        """
        s2=''
        line=''
        for i in range(len(s0)):
            s2+=s0[-1-i]
        return s2
    def reverseWords(self, s):
        s2=''
        n=0
        for i in range(len(s)):
            while(s[i]==' '):
                k=i
                line=s[n:k]
                n=k+1
                line=Solution.reverseString(line, line)
                s2=s2+line+' '
                break
            while(i==len(s)-1):
                k=i
                line=s[n:k+1]
                line=Solution.reverseString(line, line)
                s2=s2+line
                break
        # print(line)
        return s2

别人的

class Solution:
    def reverseWords2(self, s):
        return ' '.join(x[::-1] for x in s.split())

来自初学者的赞叹!!

其中,

    .join()用来连接

#对序列进行操作(分别使用' '与':'作为分隔符)
  
>>> seq1 = ['hello','good','boy','doiido']
>>> print ' '.join(seq1)
hello good boy doiido
>>> print ':'.join(seq1)
hello:good:boy:doiido
  
  
#对字符串进行操作
  
>>> seq2 = "hello good boy doiido"
>>> print ':'.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o
  
  
#对元组进行操作
  
>>> seq3 = ('hello','good','boy','doiido')
>>> print ':'.join(seq3)
hello:good:boy:doiido
  
  
#对字典进行操作
  
>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
>>> print ':'.join(seq4)
boy:good:doiido:hello
  
  
#合并目录
  
>>> import os
>>> os.path.join('/hello/','good/boy/','doiido')
'/hello/good/boy/doiido'

    .split()用来分离

>>>string = "www.gziscas.com.cn"

# 以'.'为分隔符,若以空格分割则可写成s.split()

>>>print(string.split('.'))
['www', 'gziscas', 'com', 'cn']

 

# 分割两次

>>>print(string.split('.',2))
['www', 'gziscas', 'com.cn']

 

# 分割两次,并取序列为1的项

>>>print(string.split('.',2)[1])
gziscas

 

# 分割两次,并把分割后的三个部分保存到三个文件

>>>u1, u2, u3 =string.split('.',2)
print(u1)—— www
print(u2)—— gziscas
print(u3) ——com.cn

 

# 分离文件名和路径

>>>import os
>>>print(os.path.split('/dodo/soft/python/'))
('/dodo/soft/python', '')

 

>>>print(os.path.split('/dodo/soft/python'))
('/dodo/soft', 'python') 

 

# 实例

>>>str="hello boy<[www.baidu.com]>byebye"
>>>print(str.split("[")[1].split("]")[0])

www.baidu.com

x[::-1] #用来逆序,原理暂时还没有搞懂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值