Code Golf easy一行语句一次跳过

时间:2016-11-01 03:11:45

标签: python

我想第一次跳过 但很多人都算数。我是愚蠢的。

count = 0
for a in articles:
    if count == 0:
        count += 1
        continue
    data = a.b.c()
    etc = a.abcde(E)
    # ~~~~..........

已完成的代码

for c,l in enumerate(BeautifulSoup(requests.get(NS_URL, timeout=3).text, 'lxml').find_all('li')):    
    if c == 0: continue
    link = l.a.get('href')
    title = l.h1.a.text
    img = l.img.get('src')

新代码

for l in BeautifulSoup(requests.get(NS_URL, timeout=3).text, 'lxml').find_all('li'))[1:]:
    link = l.a.get('href')
    title = l.h1.a.text
    img = l.img.get('src')

我使用文章[1:]。 thx tdelaney

3 个答案:

答案 0 :(得分:3)

如果要迭代项目并计算它们,请使用enumerate()函数:

for count, a in enumerate(articles):
    if count == 0:
        continue
    # now do whatever

答案 1 :(得分:2)

您可以使用“枚举”来包装“文章”,这些文章也将返回索引(递增序列)。如果index为0,则可以调用“continue”:

articles = ['one', 'two', 'three']
for i, a in enumerate(articles):
    if not i: continue
    # do something with a
    print(a)

答案 2 :(得分:2)

您可以确保articles是一个迭代器并使用next来丢弃它。

i_articles = iter(articles)
next(i_articles)
for a in i_articles:
    data = a.b.c()

或使用itertools将序列切片为somelist[1::]

for a in itertools.islice(articles, 1, None, 1):
    data = a.b.c.()