如何在换行中打印列表的每个元素

时间:2015-07-07 05:03:42

标签: python

我有这段代码生成以下输出:

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

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:5)

如果你有一个值列表,并且想要在新行上打印每个元素,那么你可以使用:

for i in results:
    print i

或者您也可以对字符串使用.join()方法,并在这种情况下将列表的所有元素与"\n"结合起来。

print "\n".join(results)