2011-08-02 9 views
1

私のリストのすべての要素(そのうちの8つ)をループしようとしていますが、私の関数は4つだけを提供しています。これは私が個人的なプロジェクトとして作っているアプリケーション用です。どのように私の関数は、私のリスト内の3つの要素をループしています

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

コードをインデントしてください。Pythonであるため、コードをインデントしてください。 – BrainStorm

+0

待ち伏せ、これと何が関係しているの? –

+0

単純なforループがあなたが望むものでない場合は、もっと説明しなければなりません。あなたは 'link.pop()'で何を達成しようとしていますか –

答えて

9

リストをポップしていて、リストのカウントからループを外しています。

代わりにforループを試してみてください。

for lnk in link: 
    print lnk 
3

はlink.pop()要素を取り除き、LEN(リンク)は、あなたに、各繰り返しで、リストの新しい長さを与え、あなたの半分だけスルーので、ルーピングリスト。

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 
+0

**最初のものを試しましたか?リストの長さをキャッシュするだけでは、リストがまだ変更されている(最後からポップされている)ので、役に立たない。コードでは、要素の最初の半分だけを印刷するだけでなく、例外が発生します。 –

+0

あなたはそうです、あまりにも多くのコピー&ペーストがあります。今すぐ働かなければならない。そして、いいえ、私はそれを試していない。 – GaretJax

1

私はをループにしようとしています私のリストのすべての要素(そのうちの8つ)

それからやります。カウンタ変数を設定したり、それを繰り返し使用してリストにインデックスを付けたり、リストから要素を削除したり、カウンタをインクリメントしたりしないでください。要素をループするだけです。

もし私がダースの卵を砕くように頼んだら、あなたはそれらに数字を書いたり、すでにひびが入っていた卵の数を考える必要はありません。あなたはそれをやるだけです。

だからやってみてください。

for link in links: 
    print link 
関連する問題