Pythonic 编写一系列非级联 if 语句的方法



所以我写了这段代码,使用 tweepy 从 twitters REST API 中读取信息,我想在不超过速率限制的情况下收集大量信息。 这个问题与其说是与tweepy相关的,不如说是一个概念性的问题。 到目前为止,这是我想到的唯一方法:

for i, tweet in enumerate(tweepy.Cursor(api.user_timeline, screen_name = "@twitter").items(1400)):
    print(i, tweet.author.name)
    if i == 200:
        time.sleep(180)
    if i == 400:
        time.sleep(180)
    if i == 600:
        time.sleep(180)
    if i == 800:
        time.sleep(180)
    if i == 1000:
        time.sleep(180)
    if i == 1200:
        time.sleep(180)
    if i == 1400:
        sys.exit()

但是,与其写一堆if语句,还有没有一种更pythonic的方式可以写呢?或者如果它没有坏,就不修复它?

for i, tweet in enumerate(...):
    if i % 200 == 0 and i > 0:
        time.sleep(180)

这将触发除 0 之外的 200 的每个倍数。

最新更新