2016-08-31 9 views
2

以下のコードでdel taglist[:]の行は何をしていますか?Pythonの[:]の意味は

import urllib 
from bs4 import BeautifulSoup 
taglist=list() 
url=raw_input("Enter URL: ") 
count=int(raw_input("Enter count:")) 
position=int(raw_input("Enter position:")) 
for i in range(count): 
    print "Retrieving:",url 
    html=urllib.urlopen(url).read() 
    soup=BeautifulSoup(html) 
    tags=soup('a') 
    for tag in tags: 
     taglist.append(tag) 
    url = taglist[position-1].get('href', None) 
    del taglist[:] 
print "Retrieving:",url 

質問はhttp://www.pythonlearn.com/code/urllinks.pyを拡張Pythonプログラムを書く」である。プログラムは、以下のデータ・ファイルからHTMLを読み込むためにurllibはを使用してHREFを抽出=アンカータグからvaues、そのタグをスキャンしますリスト内のファーストネームに関連した特定の位置にあり、そのリンクをたどってプロセスを何度も繰り返し、見つけた最後の名前を報告します。 サンプルの問題:http://python-data.dr-chuck.net/known_by_Fikret.htmlから開始 位置3のリンクを見つけます(最初の名前は1)。そのリンクに従ってください。このプロセスを4回繰り返します。答えはあなたが検索する最後の名前です。名前の シーケンス:FikretモンゴメリーMhairade Butchi Anayah順に 姓:Anayah

+0

それはリストからすべての要素を削除します。 – mgilson

+0

@mgilsonこのプログラムがどのように動作しているか、つまり最後の3行について説明できますか? – Sourav

答えて

3

[:]は、アレイ内のすべての要素の配列スライス構文です。ここ

この答えは、一般的な用途の深さの多くを行く:Explain Python's slice notation

del arr # Deletes the array itself 
del arr[:] # Deletes all the elements in the array 
del arr[2] # Deletes the second element in the array 
del arr[1:] # etc.. 
+0

ありがとう....また、この行が "url = taglist [position-1] .get( 'href'、None)"とは何かを説明することができます。私はPythonの初心者です... – Sourav

+0

http://stackoverflow.com/a/2068377/3213282助けてくれる – khazhyk

+0

"position-1"は何をしているのですか? – Sourav