来自mysqldb的Python列表格式

dir*_*t00 6 python tuples list mysql-python

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

domain_names = ["google.com", "yahoo.com"]
Run Code Online (Sandbox Code Playgroud)

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

当我查看使用mysql返回的内容时:

type(mysql_rows) 
Run Code Online (Sandbox Code Playgroud)

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

print(mysql_rows) 
Run Code Online (Sandbox Code Playgroud)

我可以看到列表格式为:

 [('google.com',), ('yahoo.com',)]
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用list(mysql_rows)强制输出到列表,这不起作用.我尝试手动解析文本,使其看起来像使用以下列表:

text_rows = "[" + ", ".join'"%s"' % i for i in mysql_rows = "]"
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢

Nik*_* B. 6

该列表是元组列表.一个简单的

lst = [x for x, in mysql_rows]
Run Code Online (Sandbox Code Playgroud)

应该足够了.


sec*_*ike 4

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

first_column = [x[0] for x in mysql_rows]
Run Code Online (Sandbox Code Playgroud)