来自mysqldb的Python列表格式

时间:2012-02-07 23:30:23

标签: python list tuples mysql-python

我正在尝试使用一个类(adns-python),它希望列表格式为:

domain_names = ["google.com", "yahoo.com"]

当我手动声明列表时,这是有效的。但是,我正在尝试使用python-mysqldb从mysql返回的列表。

当我使用:

查看从mysql返回的内容时
type(mysql_rows) 

这也显示为列表,但在查看结果时:

print(mysql_rows) 

我可以看到列表格式为:

 [('google.com',), ('yahoo.com',)]

我尝试使用list(mysql_rows)将输出强制再次输出到列表中。我已经尝试手动解析文本,使其看起来像使用以下列表:

text_rows = "[" + ", ".join'"%s"' % i for i in mysql_rows = "]"

然后显示为正确的格式,但它是一个字符串而不是列表,所以这也不起作用。

这是我学习python的前几天,所以如果这是一个明显/愚蠢的问题,我很抱歉。

由于

2 个答案:

答案 0 :(得分:6)

列表是元组列表。一个简单的

lst = [x for x, in mysql_rows]

应该足够了。

答案 1 :(得分:4)

mysql返回元组列表。每个元组都是结果集中的结果行。如果您只想要结果中第一个“列”的列表,请尝试以下方法:

first_column = [x[0] for x in mysql_rows]