如何在字符串中的某些位置插入空格(Python 2.7)?

时间:2013-02-22 09:17:20

标签: string python-2.7 user-defined-functions

我发现了许多相关的问题,而且一对夫妇至少帮助我做到了这一点。我的目标是拥有一个接收字符串和任意数量的整数的函数。我希望函数返回该字符串,并在参数中给出的点处插入空格。我将使用此函数与许多不同的字符串,这些字符串将具有不同数量的插入和插入位置。

这是我想要制作的一个例子:

输入类似'ATGCATGCATGCATGC'的字符串和索引(例如4,7)。输出应为'ATGCA TGC ATGCATGC'。

这是迄今为止给我最接近结果的函数:

def breakRNA(seqRNA, *breakPoint):
    n = 0
    for i in seqRNA:
        n += 1
        for i in breakPoint:
            if i == n:
                seqRNA = seqRNA[n:] + ' ' + seqRNA[:n]
    return seqRNA     

但是,返回字符串是无序转置的。例如:

>>> test = breakRNA('AAAAAAAAAAAAAAAAAAAAAAAAAAATTTTTGGGGGGGGCCCCCCCCCC', 5, 8, 14)
>>> test
>>> 'TTTTTGGGGGGGGCCCCCCCCCC AAAAA AAAAAAAA AAAAAAAAAAAAAA'

我是第1天的初学者,所以任何建议都表示赞赏。谢谢。

3 个答案:

答案 0 :(得分:2)

希望这就是你要找的东西

def breakRNA(seqRNA, *breakPoint):
    seqRNAList = []
    noOfBreakPoints = len(breakPoint)
    for breakPt in range(noOfBreakPoints):
        for index in breakPoint:
            seqRNAList.append(seqRNA[:index])
            seqRNA = seqRNA[index:]
        break
    return seqRNAList

test = breakRNA('AAAAAAAAAAAAAAAAAAAAAAAAAAATTTTTGGGGGGGGCCCCCCCCCC', 5, 8, 14)
print test

这将返回你的alist,然后你可以使用join函数创建一个字符串。

答案 1 :(得分:0)

String在Python中被列为索引。 例如,请考虑以下事项:

test_string = "azertyuiop"
print test_string[0] #will return 'a'
print test_string[0:2] #will return 'az'

回到你的问题:

def insert_space(string, integer):
    return string[0:integer] + ' ' + string[integer:]

答案 2 :(得分:-1)

string_name = string_name[starting index:ending index] + '   ' + string_name[starting index:ending index]

示例:

product_rating = '4.56888 rating 256156 reviews'
product_rating = product_rating[0:3] + '   ' + product_rating[3:]

输出

'4.5  6888 rating 256156 reviews'

如果未提及结尾索引,则其默认值将一直到字符串结尾。 注意索引将从0和0:3开始,这意味着它将从0到2。