我有这段代码生成以下输出:
result = []
with open('fileA.txt') as f:
for line in f:
if line.startswith('chr'):
label = line.strip()
elif line[0] == ' ':
# short sequence
length = len(line.strip())
# find the index of the beginning of the short sequence
for i, c in enumerate(line):
if c.isalpha():
short_index = i
break
elif line[0].isdigit():
# long sequence
n = line.split(' ')[0]
# find the index of the beginning of the long sequence
for i, c in enumerate(line):
if c.isalpha():
long_index = i
break
start = int(n) + short_index - long_index
start -= 1
end = start + length
result.append('{} {} {}'.format(label, start, end))
offset, n, start, length = 0, 0, 0, 0
输出
['chr1:152806601-152807450 453 474', 'chr1:152806601-152807450 757 778', 'chr10:125364276-125364825 318 339', 'chr10:125364276-125364825 378 399']
如何将输出更改为以下格式:
chr1:152806601-152807450 453 474
chr1:152806601-152807450 757 778
chr10:125364276-125364825 318 339
chr10:125364276-125364825 378 399
任何人都可以帮助我吗?
答案 0 :(得分:5)
如果你有一个值列表,并且想要在新行上打印每个元素,那么你可以使用:
for i in results:
print i
或者您也可以对字符串使用.join()
方法,并在这种情况下将列表的所有元素与"\n"
结合起来。
print "\n".join(results)