python split space

发现自己写python的空格split还挺多坎的,尤其是最后一个是空格的情形:

def split(s):
    i = 0
    ans = []
    while i < len(s):
        start = i
        # find space
        while i < len(s) and s[i] != ' ':
            i += 1
        ans.append(s[start:i])
        i += 1
    if s and s[-1] == " ":
        ans.append("")
    return ans

assert split("") == []
assert split(" ") == ["", ""]
assert split("  ") == ["", "", ""]
assert split("a") == ["a"]
assert split("a b") == ["a", "b"]
assert split(" a") == ["", "a"]
assert split("a ") == ["a", ""]
assert split(" a b") == ["", "a", "b"]
assert split("a b ") == ["a", "b", ""]
assert split("ac bcd") == ["ac", "bcd"]

  

原文地址:https://www.cnblogs.com/bonelee/p/8757711.html