Формат списка Python от mysqldb - PullRequest
       22

Формат списка Python от mysqldb

6 голосов
/ 08 февраля 2012

Я пытаюсь использовать класс (adns-python), который ожидает список в формате:

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

Это работает, когда я объявляю список таким образом вручную. Однако я пытаюсь использовать список, возвращаемый из mysql, используя python-mysqldb.

Когда я смотрю на то, что возвращается из mysql, используя:

type(mysql_rows) 

Это также отображается в виде списка, но при просмотре результата:

print(mysql_rows) 

Я вижу список в формате:

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

Я попытался принудительно вывести вывод в список, используя список (mysql_rows), который не работал. Я попытался разобрать текст вручную, чтобы он выглядел как список, используя:

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

Который затем отображается в правильном формате, но это строка, а не список, поэтому это тоже не работает.

Это мои первые несколько дней изучения Python, поэтому извините, если это очевидный / глупый вопрос.

Спасибо

Ответы [ 2 ]

6 голосов
/ 08 февраля 2012

Список представляет собой список кортежей. Простой

lst = [x for x, in mysql_rows]

должно быть достаточно.

4 голосов
/ 08 февраля 2012

mysql возвращает список кортежей. Каждый кортеж является строкой результатов в вашем наборе результатов. Если вам нужен список только первого «столбца» в результате, попробуйте это:

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