python - 在列表列表中使用过滤器和 lambda
问题描述
我使用列表列表。这些列表中的每一个都是相同的——它们包含标题、url 和一些额外的统计信息(总是以相同的顺序)。
我想创建一个函数find_title
,它接受想要的标题并返回整个列表(带有标题、url 和统计信息)。这是我的尝试
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]]
解决方案
您可以像这样直接从数据框中提取信息:
import pandas as pd
df = 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)'])
推荐阅读
- oracle - 在循环输出 Oracle PLSQL 函数时需要帮助
- c - OpenMP 不等待所有线程在结束 C 程序之前完成
- python - Tk() 和 tk 有什么区别?
- php - 如何仅将选中复选框的值及其值组合到一个数组中并在没有会话的情况下发布到数据库
- java - 在 URL [jar:file:/Users/umair/.m2/repository 中定义名称为“repositorySearchController”的 bean 创建错误
- python - 不能从 __init__ 以外的函数设置 self.value
- postgresql - 卡夫卡消费者卡住了
- java - 如何在 Spring Tool Suite 中指向 tools.jar
- elasticsearch - ElasticSearch - 搜索这个词是否包含在列表索引中?
- python-3.x - 运行 python 程序的最轻量级 docker 镜像