首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从列表中获取电影评分?

如何从列表中获取电影评分?
EN

Stack Overflow用户
提问于 2021-07-19 03:33:34
回答 2查看 95关注 0票数 0

我正在使用IMDbPY,我想输出来自特定国家的评级。但现在我得到了所有国家的收视率。

下面是我的代码:

代码语言:javascript
复制
from imdb import IMDb

ia = IMDb()
theMatrix = ia.get_movie_parents_guide('0133093')
print(theMatrix['data']['certification'])

当前输出:

代码语言:javascript
复制
[' Argentina:13', ' Australia:M', ' Belgium:KT/EA', ' Brazil:12', ' (original rating)', ' Brazil:12', ' (re-rating)', ' Brazil:14', ' (re-rating)', ' Brazil:14', ' (2002, TV rating)', ' Canada:14A', ' (Alberta/British Columbia)', ' Canada:PA', ' (Manitoba)', ' Canada:14', ' (Nova Scotia)', ' Canada:AA', ' (Ontario)', ' Canada:13+', ' (Quebec)', ' Denmark:15', ' Finland:K-16', ' France:Tous publics avec avertissement', ' Germany:16', ' Greece:K-8', ' Hong Kong:IIB', ' Hungary:16', ' Iceland:16', ' India:UA', ' (re-rating)', ' India:A', ' (1999, original rating)', ' Ireland:15', ' (theatrical)', ' Ireland:18', ' (video)', ' Israel:PG', ' Italy:T', ' Japan:PG-12', ' Japan:G', ' (2019)', ' Luxembourg:12', ' Malaysia:18SG', ' Mexico:B', ' Netherlands:16', ' (original rating)', ' Netherlands:12', ' (re-rating)', ' New Zealand:M', ' Nigeria:PG', ' Norway:15', ' Peru:14', ' Philippines:PG-13', ' Portugal:M/12', ' Portugal:M/16', ' (Netflix rating)', ' Russia:16+', ' Saudi Arabia:PG', ' Singapore:PG', ' Singapore:PG13', ' (re-rating)', ' South Africa:10', ' South Korea:12', ' Spain:18', ' Sweden:15', ' Switzerland:12', ' (canton of Geneva)', ' Switzerland:12', ' (canton of Vaud)', ' Taiwan:PG-12', ' Thailand:G', ' United Kingdom:15', ' United States:R', ' (certificate #36569)', ' Ukraine:16']

输入:

代码语言:javascript
复制
Argentina
Brazil
United States

所需输出:

代码语言:javascript
复制
Argentina:13
Brazil:12
United States:R
EN

回答 2

Stack Overflow用户

发布于 2021-07-19 10:32:58

这就是您要查找的内容:

代码语言:javascript
复制
from imdb import IMDb
ia = IMDb()
theMatrix = ia.get_movie_parents_guide('0133093')

inp=["Argentina","Brazil","United States"]

print([c[1:] for c in theMatrix['data']['certification'] if c.split(":")[0][1:] in inp])

这是内联for循环,很难理解,但很容易使用。无论如何,都可以使用普通循环,如下所示:

代码语言:javascript
复制
inp=["Argentina","Brazil","United States"]

for c in theMatrix['data']['certification']:
    if c.split(":")[0][1:] in inp:
        print(c[1:])
票数 0
EN

Stack Overflow用户

发布于 2021-07-19 22:37:45

这就是我要找的,谢谢大家。

从imdb导入IMDb

代码语言:javascript
复制
ia = IMDb()
theMatrix = ia.get_movie_parents_guide('0133093')
ratings = theMatrix['data']['certification']
country = " " + "Brazil"
r = [s for s in ratings if s.startswith(country)]
theRating = r[0]
print (theRating.split(":",1)[1])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68432473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档