Python While循环问题

Bre*_*den 1 python django

我在这里瞎扯 我想从用户群中获取所有用户,但是只能循环访问其中的10个(我要省略代码,这些代码可以解释为什么我不会首先从db中获取10个用户).

users = User.objects.all()
i = 0
while i < 10:
    for user in users:
        if user.is_active:
            # do something
            i += 1
Run Code Online (Sandbox Code Playgroud)

这创造了一个无限循环...我错过了什么愚蠢的细节?

Ign*_*ams 8

如果你想寻找10个活跃用户,你需要更加聪明一些.

for user in itertools.islice((x for x in users if x.is_active), 10):
  # do something
Run Code Online (Sandbox Code Playgroud)