Python 3.x 使用多行python输入文件中的每一行

Python 3.x 使用多行python输入文件中的每一行,python-3.x,Python 3.x,输入 ATTTGGC TGCCTTA CGGTATC GAAAATT 我希望每行输出3个mers,形成一个由所有3个mers组成的最终列表 输出应该是 [ATT, TTT, TTG, TGG, GGC, TGC, GCC...] 不是第一行的GC\n,也不是第二行的TA\n def getKmersFromDna(Dna,k): kmer_list = [] for i in range(len(Dna)-k+1): kmer_list.append(Dna[i

输入

 ATTTGGC

 TGCCTTA

 CGGTATC

 GAAAATT
我希望每行输出3个mers,形成一个由所有3个mers组成的最终列表 输出应该是

[ATT, TTT, TTG, TGG, GGC, TGC, GCC...]
不是第一行的
GC\n
,也不是第二行的
TA\n

def getKmersFromDna(Dna,k):
kmer_list = []
for i in range(len(Dna)-k+1):
        kmer_list.append(Dna[i:i+k])
return list(kmer_list)
给予


['CC\n','C\nG','\nGT']
这样的输出是我不想要的。

一个非常基本的代码可以如下所示:

def getKmersFromDna(Dna,k):
    dna_list = Dna.strip().split('\n')
    kmer_list = []
    for cur_dna in dna_list: # iternating over each line of input
        for i in range(len(cur_dna)-k+1): # finding Kmer from each line of input
            kmer_list.append(cur_dna[i:i+k])
    return list(kmer_list)
印刷品:

['ATT', 'TTT', 'TTG', 'TGG', 'GGC']
['TGC', 'GCC', 'CCT', 'CTT', 'TTA']
['CGG', 'GGT', 'GTA', 'TAT', 'ATC']
['GAA', 'AAA', 'AAA', 'AAT', 'ATT']

你必须解释你是如何从给定的输入中得到你想要的输出的。我看到的只是一堆字符(看起来像DNA,但我不必去学习DNA来回答你的问题)。你是如何从中获得最终输出的?所以你想
.splitlines
.strip
去掉换行符?换行符是问题的一部分,但他的输出仍然不符合他的要求@MisterMiyagi@Error-语法自责他的(格式错误的)示例代码表明他也在学习其余的代码。唯一的问题是
Dna
是原始文件内容,而不是按行分割和剥离。@KPYTHON您如何读取文件?Python中的默认设置是逐行读取文件-您必须显式请求整个内容才能获得所显示的行为。谢谢,先生。这很有帮助。我只是在学习,这就是为什么要面对这些基本问题problems@KPYTHON如果我的回答对你有帮助,请接受并投票表决。我只是在学习。这个代码对我来说相当复杂。这将有助于我顺利完成学业。谢谢
['ATT', 'TTT', 'TTG', 'TGG', 'GGC']
['TGC', 'GCC', 'CCT', 'CTT', 'TTA']
['CGG', 'GGT', 'GTA', 'TAT', 'ATC']
['GAA', 'AAA', 'AAA', 'AAT', 'ATT']