Python 查询对象属性的输出格式

Python 查询对象属性的输出格式,python,object,sqlalchemy,Python,Object,Sqlalchemy,因此,我像这样使用sqlalchemy生成了一个查询对象(其中create_session()是我编写的一个函数): 然后,在创建这个对象(它本身就是一个对象列表)之后 我对它进行迭代以获取信息。假设我想要列表中每个对象的id属性,我就这样做 for row in q: print row.id 这给了我输出: 1 2 3 4 但是,现在我想创建一个所有ID的列表。所以,我这样做 ks = [] for row in q: ks.append(row.id) 打印我得到的列

因此,我像这样使用sqlalchemy生成了一个查询对象(其中create_session()是我编写的一个函数):

然后,在创建这个对象(它本身就是一个对象列表)之后 我对它进行迭代以获取信息。假设我想要列表中每个对象的id属性,我就这样做

for row in q:
    print row.id
这给了我输出:

1
2
3
4
但是,现在我想创建一个所有ID的列表。所以,我这样做

ks = []
for row in q:
    ks.append(row.id)
打印我得到的列表:

[1L, 2L, 3L, 4L]

为什么格式不同?有没有办法把普通整数添加到我的列表中?最终的目标是创建一个以ID作为键的字典,然后将整个对象(来自我的查询返回的原始列表)作为值。我可以使用一些字符串方法将它们转换成纯整数,但是如果我可以直接将它们转换成所需的形式,那就更容易了。谢谢。

问题很简单,就是将int()方法应用于我的id

ks = []
for row in q:
    ks.append(int(row.id))
但是,我仍然不确定为什么ID会以这种奇怪的格式返回。谁能提供见解

ks = []
for row in q:
    ks.append(int(row.id))