我正在尝试使用一个类(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的前几天,所以如果这是一个明显/愚蠢的问题,我很抱歉。
由于
答案 0 :(得分:6)
列表是元组列表。一个简单的
lst = [x for x, in mysql_rows]
应该足够了。
答案 1 :(得分:4)
mysql返回元组列表。每个元组都是结果集中的结果行。如果您只想要结果中第一个“列”的列表,请尝试以下方法:
first_column = [x[0] for x in mysql_rows]