如何在列表中找到特定元素的位置?

时间:2013-07-22 09:31:47

标签: python list python-2.7

我有一个这样的清单:

 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'

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

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

我现在已经做到了这一点:

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

我似乎无法打印位置并将所有内容包装在循环中。此外,使用regexif this in that语法更好。感谢

3 个答案:

答案 0 :(得分:2)

for i, v in enumerate(website, 1):
    if url in v:
        print i

答案 1 :(得分:1)

代码 -

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

这是一个简单的for循环。

答案 2 :(得分: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()