我发现了许多相关的问题,而且一对夫妇至少帮助我做到了这一点。我的目标是拥有一个接收字符串和任意数量的整数的函数。我希望函数返回该字符串,并在参数中给出的点处插入空格。我将使用此函数与许多不同的字符串,这些字符串将具有不同数量的插入和插入位置。
这是我想要制作的一个例子:
输入类似'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天的初学者,所以任何建议都表示赞赏。谢谢。
答案 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。