如果语句在每次调用函数时不会附加多个,则无法追加到长度限制



所以我正在尝试生成Imgur链接以附加到列表中,直到列表长度为10000个链接,但是该函数每次调用时仅生成一个链接,而不是全部10000个链接。怎么了?

import string
import random
maybe = []
def id_generator(size=7, chars=string.ascii_uppercase + string.digits + string.ascii_lowercase):
    if len(maybe) < 10000:
        maybe.append('http://imgur.com/gallery/' + ''.join(random.choice(chars) for x in range(size)))

您使用的是if,一个条件语句,而不是循环。

你需要的是这个:

while len(maybe) < 10000:

您没有循环追加部分:

这样做:

def id_generator(size=7, chars=string.ascii_uppercase + string.digits + string.ascii_lowercase):
for i in xrange(10000):
    maybe.append('http://imgur.com/gallery/' + ''.join(random.choice(chars) for x in range(size)))

最新更新