Python:在游标中显示元组的第一个元素

时间:2016-02-11 21:46:05

标签: python loops cursor tuples

我有以下代码:

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]

2 个答案:

答案 0 :(得分:1)

您可以使用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()))

答案 1 :(得分:1)

为什么在python更优雅的时候使用zip / map?

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