如何在python中停止循环iteartion

2024-10-05 15:21:11 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

Tags: 代码fromidexecutewhereselectcursorrows
3条回答

试试这个:

for row in rows[:4]:
    lastweek1.append(row)

或者,您可以使用如下列表压缩:

lastweek1 = [row for row in rows[:4]]

你的代码对我来说没有意义-你想在i == 4时中断。但是您已经修复了i = 0,并且从不增加它。你想摆脱什么?也许你想说-

if rows.index(row) == 4:
    break 

什么??你知道吗

你从未增加你的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])

相关问题 更多 >