python练习2020/07/20

#17. 实现字符串的split方法
def split(s,split_str=None,times=None):
    if split_str == None: 
        split_str = " " 
    if times == None:
        times = s.count(split_str) #总共要切的次数
        
    index = 0 #记录遍历字符的位置
    split_str_length = len(split_str) #要切字符串的长度
    result = []
    while times > 0:
        temp = ""
        for i in range(index,len(s)):
            
            if s[i:i+split_str_length] != split_str: #字符串开始加上分割长度不等于分隔符
                temp += s[i] 
                index += 1
            else:
                index += split_str_length #碰到分割字符串时+split_str_length
                break
        result.append(temp)
        #print('result1',result)
        times -= 1
    result.append(s[index:])#列表中最后一位元素
    #print('result',result)
    return result

print(split("a1*b*c*d","*"))
print(split("a1*b*c*d","*",2))
print(split("a1 b c d"))
print(split("a1**b**c**d","**"))

#18. 实现字符串的strip方法
def strip(s,strip_str=None):
    if strip_str == None:
        strip_str='\t\r\n\f '#要切的对象:空白
        
    lst = list(s)
    lst_copy = lst[:]
    #从头开始遍历
    for v in lst:
        if v in strip_str:
            lst_copy.remove(v)#v在strip_str中就移除
        else:
            break
    #从最后开始遍历
    for v in lst[::-1]:
        if v in strip_str:
            lst_copy.remove(v)
        else:
            break
    return "".join(lst_copy)


print(strip(" \t\r\n\fabc\t\r\n\f"))
print(strip("####**abc########*","#*"))



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值