我有一个从espn中提取URL的函数。URL看起来像这样http://www.espncricinfo.com/series/13224/scorecard/426406/scotland-vs-england-only-odi-england-in-scotland-odi-match-2010,http://www.espncricinfo.com/series/13240/scorecard/426384/ireland-vs-australia-only-odi-australia-tour-of-england-and-ireland-2010
我已经创建了一个国家的名单,我想打印一条消息,如果该网址包含国家从名单中,否则传递到下一个网址
all_countries=['England','India','West Indies']
#one_day will have all the links
for day in one_day:
d=day.split('-')
if d in all_countries:
print(day)
else:
next
它不起作用。感谢您的帮助
因为
.split()
返回一个列表。您必须迭代列表中的项目。基本上你问电脑的是在某个列表中看起来是这样的(我假设):
我建议你用一些打印的语句。一个简单的
print(d)
会显示这种行为。您必须迭代d
:下面是一个简单的方法(假设
one_day
是URL列表,all_countries
是国家名称列表):这是因为
in
检查子字符串,例如:这就是您在条件
country.lower() in day
内循环的每次迭代中要检查的内容。你知道吗另外,你也可以在
'-'
上拆分,就像在原来的帖子中一样,以防你担心类似于'USA'
匹配包含'-musac...'
的url之类的情况。为此,你可以这样说:或者使用regex更灵活;):
结果:
相关问题 更多 >
编程相关推荐