Python 3.4 程序从字符串生成子字符串集没有给出正确的输出

标签 python output substring

我的代码给出字符串的所有 k 个长子字符串(即 string[0:k]、string[1:k+1] 等)在小型测试字符串上工作正常,但在长(100 及更多)字符串上工作正常输出中的字符串丢失。可能是什么问题以及如何修复它?这是一个代码(当然,Python):

def possible_kmers (a, b):
    kmers = []
    i=0
    while i<len(a)-b+1:
        kmer = a[i:i+b]
        kmers.append(kmer)
        i=i+1
    file = open("result.txt", "w")
    kmers.sort()
    for item in kmers:
        file.write(item+'\n')
    file.close()

最佳答案

我不确定为什么你的代码会在大输入时缺少字符串,但这段代码更干净、更封装,而且它可以工作:

def possible_kmers(s, sublen):
    for i in range(len(s) - sublen + 1):
        yield s[i:i+sublen]


kmers = sorted(possible_kmers(SOME_S, SOME_SUBLEN))

with open('result.txt', 'w') as outfile:
    for kmer in kmers:
        file.write('{}\n'.format(kmer)

关于Python 3.4 程序从字符串生成子字符串集没有给出正确的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31916427/

相关文章:

python - 使用身份的Fabrics 2.x ssh连接无法正常工作

android - intel XDK (.apk) 的输出太大了! (安卓)

python - 使用 python requests 模块进行网页抓取时出现错误

python - Django - 一对一序列化器创建函数

python - 如何读取 CSV 文件以仅将最新的三个值放入字典中?

r - Strsplit后,输出不是预期的格式

c++ - 禁用来自外部程序的控制台输出 (C++)

string - Powershell截断字符串

PHP 使用 RegEx 获取字符串的子串

php - 如何只从我的数据库中获取一部分数据?