对于如何使用for循环创建大量dict并将这些dict附加到列表中,我有点困惑。你知道吗
object_1 = dict()
object_1['ID'] = 1234
object_1['NAME'] = 'ACB'
...
object_2 = dict()
object_2['ID'] = 123
object_2['NAME'] = 'ABC'
...
object_list = list()
object_list.append(object_1)
object_list.append(object_2)
我想创建xdict对象,其中x是我选择的行数。你知道吗
cur = conn.cursor()
cur.execute("SELECT * FROM account WHERE date=current_date")
rows = cur.fetchall()
i=0
for row in rows:
...
#What I thought
i += 1
obj_+i = dict()
obj_+i['ID'] = row[0]
....
....
obj_list = list()
obj_list.append(obj_+i)
如果我正确理解了你的问题,这应该可以做到:
不能使用字符串串联来创建这样的变量名,也不需要这样做。您可以在循环中反复使用相同的变量名,并将新创建的对象添加到列表中。在循环的下一次迭代中重用相同的变量名不会更改先前分配给该变量的对象。你知道吗
另外,请注意,应该将列表初始化
obj_list = list()
移到循环之外,否则将在每次迭代中重置列表。你知道吗如果要访问循环后列表中的各个词典,可以使用
obj_list[0]
获取obj_1
,使用obj_list[1]
获取obj_2
,依此类推。你知道吗这就行了
相关问题 更多 >
编程相关推荐