股票历史数据下载 2019-05-17 13:13 采纳率: 0%
浏览 3242

Python for循环和if判断问题

if cc['filter']:
    for key,value in cc['filter'].items():
    for cs in value:
    if re.search(cs,item[key]) is None:  
    print('pass')
    item = item
else:
    print('not pass')
    item = None
    break
return item

代码如上,从filter里获取正则表达式和要匹配的字段(filter的数据在下面),如果正则匹配的结果是None(说明没有匹配到)这条数据没问题,如果匹配到了,整个item=None,跳出循环。

但是现在有三个字段,四个正则,只要匹配结果是None,循环就结束了,后面的正则就不会执行了...按理说不应该把全部的正则匹配一遍么或者遇到else为止么

'filter':{
                    'title':
                        [
                            '.*?_国网',
                            '题材瞻',
                         ],
                    'content':
                        [
                        '\(来源:.*?\)'
                    ],
                    'source':[
                        '.*?hangq'
                    ],
                    'url':[]
                }`

item的数据:


item = {'content': '(来源:新浪网)一、题材前瞻 1、MicroLED显示技术突破量产关卡商用进程有望进一步加速、国星光电、华灿光电。 (来源:中国网财经)',
            'source': '旺角资讯',
            'title': '个股精选(题材前瞻)_中国网',
            'url': '',
}

图片说明

如图,filter里有四个正则需要匹配,但是实际上只匹配了两个,后面的就没运行了

  • 写回答

1条回答 默认 最新

  • 放风喽 2019-05-17 17:17
    关注

    我猜
    你的else不是和第二个if对齐的

    评论

报告相同问题?

悬赏问题

  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程