瀏覽代碼

is_contains_age 中 val2_range 提前处理为list类型

liyuyi@c-top.com.cn 4 年之前
父節點
當前提交
7aea8bc4e3
共有 2 個文件被更改,包括 9 次插入2 次删除
  1. 1 1
      config/config.yaml
  2. 8 1
      utils/commonFunc.py

+ 1 - 1
config/config.yaml

@@ -82,7 +82,7 @@ filterTargetCombine:
     convertRatio:
         sampleSize: 10000
         improveRatio: 0.2
-    combineCnt: 2
+    combineCnt: 20
 
 
 

+ 8 - 1
utils/commonFunc.py

@@ -125,6 +125,13 @@ def is_contains_age(val1, val2_min, val2_max, val2_range):
     与age不能同时传;【18:表示18-23岁】;【24:表示24-30岁】;【31:表示31-40岁】;【41:表示41-49岁】;【50:表示50-100岁】
     :return:
     """
+    # val2_range 为字符串类型,修改为 list 类型
+    if val2_range == '[]':
+        val2_range = None
+
+    if val2_range:
+        val2_range = eval(val2_range)
+
     # 如果val1为空,表示该字段没有参与定向组合运算,就直接取客户投放策略里面的值
     if val1 is None:
         return True, {'age_min': val2_min, 'age_max': val2_max, 'ages_range': val2_range}
@@ -139,7 +146,7 @@ def is_contains_age(val1, val2_min, val2_max, val2_range):
         if (not val2_min) and (not val2_max) and (not val2_range or val2_range == '不限'):
             return True, {'ages_range': val1}
         if (val2_min is None and val2_max is None) and val2_range:
-            if set(val1).issubset(set(eval(val2_range))):
+            if set(val1).issubset(set(val2_range)):
                 return True, {'ages_range': val1}
             else:
                 return False, -1