我有两个 list

A = ["ATTTGTA", "ATTTGTA", "ATTTGTA", "ATTTGTA"]

A_modified = ["ATTGTA", "AAAT", "TTTA"]

我想要一个输出制表符分隔的 txt 文件,看起来像
ATTTGTA ATTGTA
ATTTGTA AAAT
ATTTGTA TTTA

我尝试了以下代码,但它没有在两列中写入 o/p,就像每次都写新行一样
with open ('processed_seq.txt','a') as proc_seqf:
          proc_seqf.write(A)
          proc_seqf.write("\t")
          proc_seqf.write(A_modified)

这是我得到的输出
ATTTGTA
    ATTGTA
ATTTGTA
    AAAT
ATTTGTA
    TTTA

最佳答案

您只需要将两个列表中的元素配对即可。你可以使用 zip 函数来做到这一点:

with open ('processed_seq.txt','a') as proc_seqf:
    for a, am in zip(A, A_modified):
        proc_seqf.write("{}\t{}".format(a, am))

我还使用了 format (请参阅 specs )来格式化字符串以将所有内容都放在一行中。

关于python - 在 Python 中作为制表符分隔的列写入文本文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26612638/

10-10 10:33