1. ホーム
  2. python

[解決済み] pythonの[:]の意味【重複】について

2022-02-24 12:37:46

質問

の行は何を意味しているのでしょうか? del taglist[:] は、以下のコードで何をしているのでしょうか?

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

を拡張するPythonのプログラムを書いてください。 http://www.pythonlearn.com/code/urllinks.py . このプログラムは urllib を使って以下のデータファイルから HTML を読み込み、アンカータグから href= vaues を抽出し、リストの最初の名前に対して特定の位置にあるタグをスキャンし、そのリンクを辿って何度か処理を繰り返し、最後に見つけた名前を報告します" 。 サンプル問題:次の位置からスタートします。 http://python-data.dr-chuck.net/known_by_Fikret.html 位置3(最初の名前は1)にあるリンクを見つけます。そのリンクをたどる。この作業を4回繰り返す。答えは、検索した最後の名前です。 名前の順番 Fikret Montgomery Mhairade Butchi Anayah 順番の最後の名前 Anayah

解決方法は?

[:] は、配列の各要素に対する配列スライスの構文です。

こちらの回答では、一般的な使用方法についてより深く掘り下げています。 Pythonのスライス表記について説明します。

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..