如何将字符串拆分为六个字符的数组?

时间:2018-12-06 02:56:38

标签: string python-3.x numpy split

我有一个字符串:

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])

结果不是我想要的结果 如何为这种情况编写代码?

2 个答案:

答案 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']