如何从sql查询中获取另一个变量类型

时间:2011-07-13 13:03:17

标签: python

从此查询...

self.cur.execute("""SELECT pub FROM "20091229"
                 GROUP BY pub ORDER BY pub""")

我得到了以下带有元组的列表。

>>[(1,), (2,), (3,)]

但我只需要一个列表或元组中没有小数点的列表。 像这样的东西:

[1, 2, 3]

[(1), (2), (3)]

感谢。

2 个答案:

答案 0 :(得分:1)

这个怎么样?

li = [tup[0] for tup in li]

请注意,元组get的编写方式与(1,)类似,因为(1)意味着数学括号。此外,您似乎正在尝试打印列表,请考虑使用专用打印功能。

答案 1 :(得分:1)

如果你告诉我们你使用什么模块来处理db会更好。此外,我不确定,但您的查询可以优化为类似'SELECT DISTINCT pub FROM“20091229”ORDER BY pub'

我知道这里没有人喜欢减少,但也可以在这里使用:

from operator import add

reduce(lambda res,x: add(res, x), [(1,), (2,), (3,)])

或者,如果只有单项元组的列表:

from operator import itemgetter
map(itemgetter(0), [(1,), (2,), (3,)])