1

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

这是我想要制作的示例:

输入一个字符串,如'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'

我是第一天的初学者,所以任何建议都值得赞赏。谢谢你。

4

4 回答 4

5

字符串像 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:]
于 2013-02-22T11:02:04.263 回答
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 函数从中创建一个字符串。

于 2013-02-22T11:13:53.543 回答
0
simbol = input('Enter a character:\n')
triangle_n = int(input('Enter triangle height:\n'))
print('')

for i in range (triangle_n ):
    for j in range(i+1):
        print(simbol [0],end=' ')
    print()
于 2022-01-29T20:18:01.647 回答
-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。

于 2019-08-19T08:04:19.703 回答