如何解决如何使用 FOR 循环生成对象?
我正在研究 python flask,我正在尝试使用 重复循环动态生成字典,但我不确定如何使用 strong>python,因为在其他语言中只是在要重复的item之前插入for循环,但是在python的错误。请注意,我的目标有两个数据返回。我想自动生成这些内部结果吗?
我想做这样的事情:
listStocks = db.execute("SELECT * FROM cars WHERE id_user = ?",userId)
car_details = [ <-- Start the loop for here
for i in range (len (list)):
##-----------------------------------
## Repete that code block
brand = listStocks [i] ["brand"]
model = listStocks [i] ["model"]
{
'brand': brand,'model': model,}
##---------------------------------------
else: <-- if all items listed,render the template below
]
return render_template ('index.html',car = car_details)
当循环没有更多记录要插入字典时,结果将是:
car_details = [
{
'brand': Fiat,'model': Model A
}
{
'brand': Volkswagen,'model': Model B
}
{
'brand': Tesla,'model': Model C
}
{
'brand': Ford,'model': Model D
}
{
'brand': Ferrari,'model': Model E
}
{
'brand': Lamborghini,'model': Model F
}
{
'brand': BMW,'model': Model G
}
]
我的真实代码:
listStocks = DB.execute("SELECT * FROM cars WHERE id_user = ?",userId)
for i in range(len(list)):
brand = listStocks[i]["brand"]
model = listStocks[i]["model"]
car_details = [
{
'brand': brand,'model': model
}
]
return render_template('index.html',car=car_details)
谢谢
解决方法
listStocks = DB.execute("SELECT * FROM cars WHERE id_user = ?",userId)
car_details = [ {'brand': item["brand"],'model': item["model"] } for item in listStocks ]
return render_template('index.html',car=car_details)
,
问题是您在循环内设置 car_details
。无论语言如何,您收到的结果就是您得到的结果。您可能的意思是:
listStocks = DB.execute("SELECT * FROM cars WHERE id_user = ?",userId)
car_details = []
for i in range(len(listStocks)):
brand = listStocks[i]["brand"]
model = listStocks[i]["model"]
car_details.append(
{
'brand': brand,'model': model
}
)
return render_template('index.html',car=car_details)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。