在列表列表中使用筛选器和 lambda

我使用列表的列表。这些列表中的每一个都是相同的 - 它们包含标题,url和一些额外的统计信息(始终以相同的顺序)。

http://img2.mukewang.com/63296fb900013edf06450444.jpg

我想创建一个函数 ,它采用所需的标题并返回整个列表(带有标题,url和统计信息)。这是我的尝试find_title


def find_title(title, ls):

    return(list(filter(lambda x: x[0] == title, ls)))

但是它不起作用,它不返回任何内容。这可能是因为仅表示大列表中的第一个元素。如何修复?x[0]


编辑。这是ls的一部分:


[['Der Vagabund und das Kind (1921)',

  'http://www.imdb.com/title/tt0012349/',

  0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

 ['Goldrausch (1925)',

  'http://www.imdb.com/title/tt0015864/',

  0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

 ['Metropolis (1927)',

  'http://www.imdb.com/title/tt0017136/',

  0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0]]


翻过高山走不出你
浏览 117回答 1
1回答

明月笑刀无情

您可以直接从数据帧中提取信息,如下所示:import pandas as pddf = pd.DataFrame([['Der Vagabund und das Kind (1921)',  'http://www.imdb.com/title/tt0012349/',  0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], ['Goldrausch (1925)',  'http://www.imdb.com/title/tt0015864/',  0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], ['Metropolis (1927)',  'http://www.imdb.com/title/tt0017136/',  0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0]])print(df[df[0] =='Goldrausch (1925)'])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python