我想在代码中执行几行后停止循环
cursor.execute("select score*100 from daily_stats1 where user_id=102")
rows = cursor.fetchall()
# Convert query to objects of key-value pairs
lastweek1 = list()
i = 0
for row in rows:
lastweek1.append(row[i])
if i == 4:
break
答案 0 :(得分:2)
您从不增加i
。要么这样做,要么将其留给enumerate
。另外,在澄清只打印4行的情况下,最好在循环的顶部进行检查,否则将打印5行:
lastweek1 = list()
for i, row in enumerate(rows):
if i == 4:
break
lastweek1.append(row)
或者您无法使其复杂化:)。前四整行很简单
lastweek1 = rows[:4]
或者它是发电机(可能)并且您需要对其进行验证,
lastweek1 = list(rows[:4])
答案 1 :(得分:0)
尝试一下:
for row in rows[:4]:
lastweek1.append(row)
或者您也可以使用列表压缩来做到这一点:
lastweek1 = [row for row in rows[:4]]
答案 2 :(得分:0)
您的代码对我而言没有意义-您想在i == 4
时破解。但是您已经固定了i = 0
并且从不对其进行递增。您想突破什么?也许你想说-
if rows.index(row) == 4:
break
??