股票历史数据下载 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对齐的

    评论

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程