1

我有一个这样的列表:

 website =    ['http://freshtutorial.com/install-xamp-ubuntu/', 'http://linuxg.net/how-to-install-xampp-on-ubuntu-13-04-12-10-12-04/', 'http://ubuntuforums.org/showthread.php?t=2149654', 'http://andyhat.co.uk/2012/07/installing-xampp-32bit-ubuntu-11-10-12-04/', 'http://askubuntu.com/questions/303068/error-with-tar-command-cannot-install-xampp-1-8-1-on-ubuntu-13-04', 'http://askubuntu.com/questions/73541/how-to-install-xampp']

我想搜索以下列表是否包含某个 URL。

URL 将采用以下格式:url = 'http://freshtutorial.com'

该网站是列表的第一个元素。因此,我想打印1 而不是 0

我想要循环中的所有内容,以便如果没有具有该 URL 的网站,它将再次运行并动态生成列表并再次搜索该网站。

到目前为止,我已经这样做了:

for i in website:
    if url in website:
        print "True"

我似乎无法打印位置并将所有内容都包装在循环中。regex另外,使用还是if this in that语法更好。谢谢

4

3 回答 3

2
for i, v in enumerate(website, 1):
    if url in v:
        print i
于 2013-07-22T09:36:29.093 回答
1

编码 -

for i in range(0,len(website)):
    current_url = website[i]
    if url in current_url:
         print i+1

这是一个简单的 for 循环。

于 2013-07-22T09:43:55.337 回答
1

这是完整的程序:

def search(li,ur):
    for u in li:
        if u.startswith(ur):
            return li.index(u)+1        
    return 0

def main():
    website = ['http://freshtutorial.com/install-xamp-ubuntu/', 'http://linuxg.net/how-to-install-xampp-on-ubuntu-13-04-12-10-12-04/', 'http://ubuntuforums.org/showthread.php?t=2149654', 'http://andyhat.co.uk/2012/07/installing-xampp-32bit-ubuntu-11-10-12-04/', 'http://askubuntu.com/questions/303068/error-with-tar-command-cannot-install-xampp-1-8-1-on-ubuntu-13-04', 'http://askubuntu.com/questions/73541/how-to-install-xampp']
    url = 'http://freshtutorial.com'
    print search(website,url)

if __name__ == '__main__':
    main()
于 2013-07-22T10:12:52.040 回答