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,)])