在NumPy元组中使用OR运算符表示多个变量

时间:2015-07-06 07:10:47

标签: python numpy

我想在构建元组时使用以下表达式来考虑多个变量。如何在没有错误tuple must match array size的情况下使用此表达式或类似表达式?如果可能的话,我想避免对每个不同的k_ewaste_comm使用elif

 if k_ewaste_comm_1 or k_ewaste_comm_2 or k_ewaste_comm_3  ==  4 :
        items.append((Address,
             x,
            y,
              x,
              y,
              ReasonCode,
              SRNumber,
             SRNumber,
             FullName,
              ResolutionCode,
              HomePhone,
              created_object,
             CreatedBy,
              UpdatedDate,
              k_ewaste_count_1 or k_ewaste_count_2 or k_ewaste_count_3 
             k_ewaste_comm_1 or k_ewaste_comm2 or k_ewaste_comm_3,
              date_object,
             GISLayer,

            # ServiceNotes,

             Prior_Resolution_Code,
            k_ewaste_name_1,k_ewaste_name_2, k_ewaste_name_3,
            ))

这是对的吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试这种变体。创建方法

def check_it(*args):
    for i in args:
        if i == 4:
            return i
    return 0

k_ewaste_count = check_it(k_ewaste_count_1, k_ewaste_count_2, k_ewaste_count_3)
if k_ewaste_count:
    items.append((Address,
         x,
        y,
          x,
          y,
          ReasonCode,
          SRNumber,
         SRNumber,
         FullName,
          ResolutionCode,
          HomePhone,
          created_object,
         CreatedBy,
          UpdatedDate,
          k_ewaste_count,
         k_ewaste_count,
          date_object,
         GISLayer,

        # ServiceNotes,

         Prior_Resolution_Code,
        k_ewaste_name_1,k_ewaste_name_2, k_ewaste_name_3,
        ))