我有一个字符串:
doc = 'a3fprma3j4kfa3bedv'
我想创建一个数组:
['a3fprm', 'a3j4kf', 'a3bedv']
每六个字符为一个数组中的字符串 当我尝试时:
rer = [doc[i] for i in range(len(doc))]
god = []
for i in range(0, len(doc) - 6 + 1):
god.append(doc[i:i +6])
结果不是我想要的结果 如何为这种情况编写代码?
答案 0 :(得分:2)
尝试以下类似方法。唯一的事情是字符串必须是6的倍数才能在列表中显示一个值。例如,如果您在字符串中再添加5个字符,则输出将与最后5个字符相同,而忽略。
与您的代码的不同之处是在range()
函数range(6, len(doc) + 1, 6)
中添加了第三个参数。第三个参数告诉for循环以6的间隔逐步遍历字符串。
doc = 'a3fprma3j4kfa3bedv'
docArr = []
for i in range(6, len(doc) + 1, 6):
docArr.append(doc[i-6:i])
print(docArr)
输出:
['a3fprm', 'a3j4kf', 'a3bedv']
答案 1 :(得分:1)
使用range(0, len(doc), 6)
生成序列(以6为步长):
[doc[i:i+6] for i in range(0, len(doc), 6)]
# ['a3fprm', 'a3j4kf', 'a3bedv']