python中的嵌套列表过滤?

2024-06-01 02:47:49 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以为列表创建嵌套筛选? 我有一个包含标签列表的书签列表。我想过滤带有特定标签的书签。在

def filterListByTag(bookmarkList, tag):
    filteredList = []
    #filter the list by single tag
    for b in bookmarkList:
        for t in b[1]:
            if t == tag:
                filteredList.append (b)
    return filteredList

我已经编写了一个嵌套循环来实现这一点,但是有没有一种python方法使用filter或下面的[]?:-)

^{pr2}$

例:我想得到所有的书签都有“新车7座”的标签

输入示例:

print myBookmarks.bookmarks[0]
(u'http://qt-project.org/doc/qt-4.8/examples-itemviews.html', [u'Python'], u'Item Views Examples | Documentation | Qt Project', u'', datetime.datetime(2013, 7, 10, 13, 38, 9))

print myBookmarks.bookmarks[1]
(u'http://qt-project.org/doc/qt-4.8/model-view-programming.html', [u'Python'], u'Model/View Programming | Documentation | Qt Project', u'', datetime.datetime(2013, 7, 10, 13, 36, 23))

print myBookmarks.bookmarks[4]
(u'http://www.gebrauchtwagen.at/', [u'newcar-7-seats'], u'Gebrauchtwagen.at \u2013 Auto, Autos, Jahreswagen, Neuwagen, Oldtimer, Unfallwagen, Automarkt, Autob\xf6rse', u'', datetime.datetime(2013, 7, 9, 8, 37, 35))

print myBookmarks.bookmarks[5]
(u'http://www.car4you.at/Gebrauchtwagen', [u'newcar-7-seats'], u'car4you | Gebrauchtwagen, Autos, Fahrzeuge und Motorr\xe4der kaufen und verkaufen', u'', datetime.datetime(2013, 7, 9, 8, 37, 25))

筛选列表 打开

print myBookmarks.bookmarks[4] 
(u'http://www.gebrauchtwagen.at/', [u'newcar-7-seats'], u'Gebrauchtwagen.at \u2013 Auto, Autos, Jahreswagen, Neuwagen, Oldtimer, Unfallwagen, Automarkt, Autob\xf6rse', u'', datetime.datetime(2013, 7, 9, 8, 37, 35))

print myBookmarks.bookmarks[5]
(u'http://www.car4you.at/Gebrauchtwagen', [u'newcar-7-seats'], u'car4you | Gebrauchtwagen, Autos, Fahrzeuge und Motorr\xe4der kaufen und verkaufen', u'', datetime.datetime(2013, 7, 9, 8, 37, 25))

Tags: http列表datetimewwwqtatprintbookmarks