Python自定义实现字符串的split方法

本文探讨如何自定义实现Python中的字符串split方法,包括处理默认切割符、指定切割符和最大切割次数的情况。详细解释了当切割符为空、切割次数为正数或负数时的分割逻辑。
摘要由CSDN通过智能技术生成

 自定义实现str的spilt方法:

  1. 如果切割符为默认值:字符串首尾的空白字符去掉,不参与分割,即不像指定分隔符会切割出''空字符串
  2. 指定切割符不能是空字符串
  3. 最大切割次数,默认为-1
  4. 切割次数为负数时,整个字符串切割
  5. 正数时,切割给定的次数

 

# 自定义实现split方法:
# 算法:
# 1. 遍历这个字符串,start=0,
#    判断当前字符以及后续的几个字符是否时sep
#    如果不是,就继续遍历,如果是,就把这个位置记录下来作为end的坐标
# 2. 基于start和end的切片,取出来内容,放到一个结果list里面去
# 3. start设定为下一个要遍历的坐标,重复上述的过程

# start=0,遍历s,找到sep的内容
# 坐标为2的时候是个空白,end=2
# s[start:end] ---> he ---> 放到一个list里面
# 继续向后遍历,找到非空白的时候,start=4
# 继续遍历,找到sep,end=6,s[start:end] ---> is放到结果list里面去
# 字符串已经到了最后end=len(s) 

 # 0123456789
# 'he  is boy'

def split(s, sep=None, maxsplit=-1):
    # s不是str类型,结束程序
    if not isinstance(s, str):
        return None

    # (not (sep is None or isin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值