[英]Split String every 2 characters with Zip in Python 3
我需要制作一個接收字符串和數字的 function 並每隔 2 個字符拆分一次該字符串,但如果字符串的長度甚至不是我必須添加數字。 這是我到目前為止所得到的。
def splitString(string,number):
if (len(string)%2 != 0):
return list(map(''.join, zip(*[iter(string)]*2))) # I don't know how to add the number at the end
else:
return list(map(''.join, zip(*[iter(string)]*2)))
因為這是做作業,我被告知我不能創建一個列表然后使用.append() 所以我必須准備好返回列表。
你很接近:
def splitString(string,number):
if (len(string)%2 != 0):
return list(map(''.join, zip(*[iter(string + str(number))]*2)))
else:
return list(map(''.join, zip(*[iter(string)]*2)))
例子:
>>> splitString("hellow", 4)
['he', 'll', 'ow']
>>> splitString("hello", 4)
['he', 'll', 'o4']
這很容易實現,使用re.findall
在字符串中搜索 2 個字符的子字符串並附加數字:
import re
def splitString(string,number):
return re.findall(r'..', string + str(number))
print(splitString('hello', 3))
print(splitString('farewell', 3))
Output:
['he', 'll', 'o3']
['fa', 're', 'we', 'll']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.