我如何在python中停止循环迭代

时间:2018-11-21 08:50:50

标签: python postgresql

我想在代码中执行几行后停止循环

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

3 个答案:

答案 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 

??