python 模仿字串split函式

2021-10-09 12:25:11 字數 1987 閱讀 1690

txt = "google#runoob#taobao#facebook"

x = txt.split("#",2)

y = txt.split("#")

# print(x)

# print(y)

def mysplit(input:str, separator:str =" ", num:int =-1):

'''模仿字串自帶的split

:param input:輸入的字串

:param separator:分隔符,預設是空格

:param num:分割數量

:return:列表

'''list =

start_index = #記錄分隔符出現的位置

length = len(input)

for i in range(length):

if input[i] ==separator:

# print(start_index)

index_length = len(start_index)

#num分四種情況

if num <0 or index_length<=num:

#負數為全部分割 or 大於分隔符數量返回全部分割結果

begin = 0 #記錄input陣列範圍下限

for i in range(index_length):

begin = start_index[i]+1 #更新

return list

elif num ==0:

#0為返回作為列表整個字串

return list

elif len(start_index)>num:

#小於分隔符數量則返回對應數量的分割結果,字串剩餘內容則在返回列表的最後乙個

begin = 0

for i in range(num):

begin = start_index[i] + 1

return list

res = mysplit(txt,"#",2)

# res = mysplit(txt,"#",0)

# res = mysplit(txt,"#",-6)

print(res)

這樣可以實現,但兩次for迴圈浪費了效能。

下面是改良版,簡化**,讓演算法在乙個for迴圈內完成工作

txt = "google#runoob#taobao#facebook"

def mysplit(input:str, separator:str =" ", num:int =-1):

'''模仿字串自帶的split

:param input:輸入的字串

:param separator:分隔符,預設是空格

:param num:分割數量

:return:列表

'''split_list =

if num == 0: #num為0時返回列表形式的字串

return split_list

num = num if num >= 0 else -1 #過濾負數num

separator_index = 0 #記錄分隔符位置

separator_num = 0 #記錄分隔符數量

length = len(input)

begin = 0 #記錄input左區間

for i in range(length):

if input[i] ==separator:

separator_num += 1

if num+1 == separator_num:#分隔符數量大於使用者需要分割的數量時,直接跳過

break

separator_index = i

begin = i+1

return split_list

res = mysplit(txt,"#",2)

print(res)

python字串 Python 字串

建立字串很簡單,只要為變數分配乙個值即可。例如 var1 hello world var2 python runoob python訪問字串中的值python不支援單字元型別,單字元在 python 中也是作為乙個字串使用。python訪問子字串,可以使用方括號來擷取字串,如下例項 例項 pytho...

python字串 python字串

單引號示例常用的轉義字元 轉義字元案例1format 格式化練習1 help sisdigit,isnumeric,isdecimal 三個判斷數字的函式 isalnum 檢查字串是否由字母加數字組成 s test1split 字串拆分 splitlines 已換行符拆分 join 合成字串 upp...

python字串用法 python字串使用總結

python 字串使用總結 字串是程式中最常見的資料型別。在 python 中,可以使用三種方式定義字串。單 引號 雙引號和三引號。例如 string string string 或者是 string 在使用上,單引號和雙引號沒有什麼區別。三引號的主要功能是在字串中可以 包含換行 也就是說,在三引號...