从其他列表中获取列表

时间:2015-04-21 13:40:49

标签: python

出于某种原因,我最终在列表中列出了一个"列表"这对我来说没有意义:

我得到一个包含以下输出的变量:

>>> 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')

我想知道这是否是正确的方法呢?或者我应该修改我的代码?在我的情况下在列表中列出一个列表有点奇怪吗?

3 个答案:

答案 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)