[英]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.