繁体   English   中英

将for循环的输出存储到单个变量中

[英]Store output of for loop into single variable

我有一个for循环,可从SQLite3数据库中检索文本页面的bigram数据。

def bigram_db():
cursr.execute("SELECT * FROM trainedGrammar")
data = cursr.fetchall()
for data in data:
    element = data
    txt = element[0] #fetch first element of list
    txt += txt
return txt

我尝试使用txt + = txt,但是当我尝试在函数bigram_db()之外打印缓存时,这仅给了我一个有价值的bigram数据段落。 因此,我该如何存储所有将由for循环输出的bigram数据,这些数据可以在for循环之外访问 ,然后在我打印时,希望数据库的整个bigram数据可用。

您不需要执行fetchall() ,可以直接在游标上进行迭代。 而且,您不能将相同的txt变量用于两个目的。 在循环中,行txt = element[0]覆盖其旧值。

您的函数应如下所示:

def bigram_db():
    cursr.execute("SELECT * FROM trainedGrammar")
    txt = ""
    for row in cursr:
        txt += row[0]
    return txt

或没有for循环:

def bigram_db():
    cursr.execute("SELECT * FROM trainedGrammar")
    return "".join([row[0] for row in cursr])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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