使用与对象循环时获取ID字段

时间:2011-04-01 13:24:50

标签: python algorithm for-loop cycle

每次运行时获得for号码的最佳方法是什么?

代码:

fields = []

objects = otherobjects.all() 
for object in objects
    fields.append(('id_is_#', object))

我想把ID放到#place。 ID将以++方式生成。

3 个答案:

答案 0 :(得分:1)

fields = []
objects = otherobjects.all() 

for id, obj in enumerate(objects)
    fields.append(('id_is_' + id, obj))

答案 1 :(得分:1)

列表理解:

objects = otherobjects.all()
fields = [('id_is_%d' % id, ob) for id, ob in enumerate(objects)]

使用'object'作为变量名可能会导致问题......

答案 2 :(得分:0)

字符串调制对此更好。

fields.append(("id_is_%s" % id, object))

编辑:对风格进行轻微修正,以防万一你的意思略有不同,这是一个更好的例子

for obj in objects:
    fields.append(("id_is_%s" % obj.id, obj)