【发布时间】:2016-03-25 02:51:31
【问题描述】:
我有一个清单:
chain_views = [u'x|frequency|x:y|||cbase',
u'x|frequency|x:y||weights_UK18|cbase',
u'x|frequency||y|weights_UK18|c%']
我想根据上面的列表检查下面的条件
if el.startswith('x|frequency|') and el.split('|')[4]!='' and el.split('|')[3]=='y':
如何在正则表达式中转换上述条件?
现在我正在循环检查这个,我认为正则表达式可能是一个更好的选择?
for el in chain.views:
if el.startswith('x|frequency|') and el.split('|')[4]!='' and el.split('|')[3]=='y':
weighted_views = True
break
else:
weighted_views = False
return weighted_views
【问题讨论】:
-
循环的目标是什么?它总是立即返回最后一个列表元素的
weighted_views结果。 -
您是否将
continue与break混淆了? Continue 只是进行下一次迭代,无论如何它都会这样做。你也可以避免两次调用el.split('|')。我知道这只是示例代码,但仍然值得注意。 -
你说得对,我把它弄糊涂了!
标签: python regex loops conditional-statements