Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从sql查询中获取另一个变量类型_Python - Fatal编程技术网

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

Python 如何从sql查询中获取另一个变量类型,python,Python,从这个查询中 self.cur.execute("""SELECT pub FROM "20091229" GROUP BY pub ORDER BY pub""") 我得到了下面的元组列表 >>[(1,), (2,), (3,)] 但是我只需要一个列表或者元组中没有小数点的列表。 类似这样的: [1, 2, 3] 或 谢谢。这个怎么样 li = [tup[0] for tup in li] 请注意,元组get是这样写的,因为(1)意味着数学

从这个查询中

self.cur.execute("""SELECT pub FROM "20091229"
                 GROUP BY pub ORDER BY pub""")
我得到了下面的元组列表

>>[(1,), (2,), (3,)]
但是我只需要一个列表或者元组中没有小数点的列表。 类似这样的:

[1, 2, 3]

谢谢。

这个怎么样

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

请注意,元组get是这样写的,因为
(1)
意味着数学括号。此外,似乎你正在尝试打印一个列表,考虑使用一个专用的打印功能。

如果你告诉我们你用什么模块来处理DB,那就更好了。我也不确定,但您的查询可以优化为类似这样的“从“20091229”中按发布顺序选择不同的发布”

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

from operator import add

reduce(lambda res,x: add(res, x), [(1,), (2,), (3,)])
或者,如果只有单个项元组列表:

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

我需要一个列表,因为我想在以后的sql查询中使用此列表作为变量,并且在小数点处我得到一个错误。@the_Fox:问题是您使用的是
str(li)
。考虑正确的格式化列表。<代码> [(1,),(2,),(3,)] < /代码> -这些不是小数点(逗号)。这些是元组元素分隔符。也许这不是解决它的最佳方法,但它很有效。:)现在,我得到一个元组:(1,2,3)。非常感谢。谢谢你,@The_Fox-python有很多方法可以做事情,选择最好的总是取决于你。
from operator import itemgetter
map(itemgetter(0), [(1,), (2,), (3,)])