如何将字符串拆分为连续的子字符串,例如:string\u inputs:IN PYTHON3

2024-10-03 17:24:43 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将字符串拆分为连续的子字符串,例如: 字符串\u输入:

AAAATTTT ATATATAT

需要的输出:

AA,AA,AA,AT,TT,TT,TT

Tags: 字符串ataattatatatataaaatttt
3条回答
string_inputs = "AAAATTTTATATATAT"

#Note the `len(string_inputs) - 1` in the range; do according to what you desire as your output
d_out = [string_inputs[i:i+2] for i in range(0, len(string_inputs) - 1)]

d_out = ['AA', 'AA', 'AA', 'AT', 'TT', 'TT', 'TT', 'TA', 'AT', 'TA', 'AT', 'TA', 'AT', 'TA', 'AT']

您可以在此处使用^{}获得每两个子字符串:

>>> string = 'AAAATTTTATATATAT'
>>> ','.join(x + y for x, y in zip(string, string[1:]))
'AA,AA,AA,AT,TT,TT,TT,TA,AT,TA,AT,TA,AT,TA,AT'

这也是另一种方式:

>>> ','.join(map(''.join, zip(string, string[1:])))
'AA,AA,AA,AT,TT,TT,TT,TA,AT,TA,AT,TA,AT,TA,AT'

甚至像这样:

>>> ','.join(map(lambda x, y: x + y, string, string[1:]))
'AA,AA,AA,AT,TT,TT,TT,TA,AT,TA,AT,TA,AT,TA,AT'

这正是你想要的

string = "AAAATTTTATATATAT"
step = 2
split = [string[i:i+step] for i in range(0, len(string), step)]
print(",".join(split))

step是要将字符串拆分成的块。最后一行将其与,连接起来,如您的示例所示,以提供最终输出AA,AA,TT,TT,AT,AT,AT,AT

相关问题 更多 >