简体   繁体   中英

How to print each element of a list in newline

I have this piece of code that generate the following output:

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

Output

['chr1:152806601-152807450 453 474', 'chr1:152806601-152807450 757 778', 'chr10:125364276-125364825 318 339', 'chr10:125364276-125364825 378 399']

How to change my output to the following format:

chr1:152806601-152807450 453 474
chr1:152806601-152807450 757 778
chr10:125364276-125364825 318 339
chr10:125364276-125364825 378 399

Can anyone help me?

If you have a list of values, and you want to print the elements each on new line then you may use:

for i in results:
    print i

Or alternatively you may also use .join() method on a string and join all the elements of the list with "\\n" in this case.

print "\n".join(results)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM