出于某种原因,我最终在列表中列出了一个"列表"这对我来说没有意义:
我得到一个包含以下输出的变量:
>>> print(combined_result)
>>> [[('id1', 'titel1'), ('id2', 'titel2'), ('id3', 'titel3'), ('id3', 'titel4')]]
由以下代码生成:
combined_result = []
def executequery(cursor):
cursor.execute("SELECT id, title FROM database")
records = cursor.fetchall()
result = records
combined_result.append(result)
return
要实际获取该组合列表的第一个元素,我将其称为:
>>> print(combined_result[0][1])
>>> ('id1', 'titel1')
我想知道这是否是正确的方法呢?或者我应该修改我的代码?在我的情况下在列表中列出一个列表有点奇怪吗?
答案 0 :(得分:1)
在功能添加此
之后>>> combined_result=combined_result[0]
输出
>>> combined_result
[('id1', 'titel1'), ('id2', 'titel2'), ('id3', 'titel3'), ('id3', 'titel4')]
答案 1 :(得分:1)
您不需要combined_result
因为result
已经是一个列表。您可以从函数返回result
。
combined_result = []
def executequery(cursor):
cursor.execute("SELECT id, title FROM database")
return cursor.fetchall()
combined_result=executequery(sth)
答案 2 :(得分:1)
尝试使用extend
代替append
- 而不是将列表视为要追加的单个项目,而是将一个列表中的所有项目添加到另一个列表中:
combined_result.extend(result)