我正在尝试遍历列表中的所有元素(其中8个),但我的功能只向我提供了4个。这是我作为个人项目的应用程序。
import urllib
def get_followers():
count = 0
link = ['http://twitter.com/statuses/user_timeline.xml?screen_name=beratmahmuzlu', 'http://twitter.com/statuses/user_timeline.xml?screen_name=lidiazuin', 'http://twitter.com/statuses/user_timeline.xml?screen_name=kelewele_boham', 'http://twitter.com/statuses/user_timeline.xml?screen_name=AwangHafizam', 'http://twitter.com/statuses/user_timeline.xml?screen_name=BRAYANLVN', 'http://twitter.com/statuses/user_timeline.xml?screen_name=zezol_pl', 'http://twitter.com/statuses/user_timeline.xml?screen_name=brysonwong', 'http://twitter.com/statuses/user_timeline.xml?screen_name=racsozara']
while count < len(link):
print link[count]
link.pop()
count = count + 1
答案 0 :(得分:9)
您正在弹出列表并将循环基于列表计数。
尝试使用for循环:
for lnk in link:
print lnk
答案 1 :(得分:3)
link.pop()删除一个元素,len(link)在每次迭代时为你提供列表的新长度,因此仅通过列表的一半循环。
def get_followers():
count = 0
link = [0, 1, 2, 3, 4, 5, 6, 7, 8]
l = len(link)
while count < l:
print link.pop()
count = count + 1
这是正确的实现,虽然有更多更简洁的方法来迭代python中的列表,这是最简单的方法之一:
def get_followers():
link = [0, 1, 2, 3, 4, 5, 6, 7, 8]
for l in link:
print l
答案 2 :(得分:1)
我正在尝试遍历列表中的所有元素(其中8个)
然后这样做。不要设置计数器变量,重复使用它来索引列表,从列表中删除元素并递增计数器。只需遍历元素。
如果我要求你打破一打鸡蛋,你就不需要在上面写数字,或者想想你已经破了多少个鸡蛋。你只是这样做。
所以就这样做。
for link in links:
print link