2016-02-11 3 views
1

Я следующий код:Python: отобразить первый элемент кортежа в курсора

conn = mysql.connector.connect(database='test', user='me', password='pwd') 
cursor = conn.cursor() 
query = ("select id from T where project = 10") 
cursor.execute(query) 
result = cursor.fetchall() 

результат, показывающий, как:

[(Decimal('476749'),), (Decimal('478045'),), (Decimal('479713'),)] 

это возможно, чтобы показать, как: [476749, 478045, 479713]

+1

'result = [int (x [0]) для x в cursor.fetchall()]' – zondo

ответ

0

Зачем использовать почтовый/карта, когда питон так много более изящным?

[int(i[0]) for i in cursor.fetchall()] 
0

Вы можете использовать функцию zip для получения первых элементов и map для преобразования десятичных знаков в целое число:

>>> import decimal 
>>> map(int,zip(*[(decimal.Decimal('476749'),), (decimal.Decimal('478045'),), (decimal.Decimal('479713'),)])[0]) 
[476749, 478045, 479713] 

И в вашем коде:

result = map(int,zip(*cursor.fetchall())) 
Смежные вопросы