繁体   English   中英

检查主列表中是否存在属性名称的有效方法?

[英]Efficient way to check if an attribute name exists in the master list?

您好我正在尝试检查上传的数据框中的列名是否有任何敏感元素。 像这样...

uploaded_csv_files = [['emp_ssn','emp_phone','emp_name'],['worker_phone', 'worker_credit_card','worker_name'],['vendor_ssn','vendor_credit_card','vendor_phone']]

sensitive_list_master = ['ssn', 'credit', 'phone']

 

for df in uploaded_csv_files:

  for column in df:

    for each in column.split("_"):

      if each in sensitive_list:

        print(f"{column} has a sensitive element")

如您所见,我正在使用嵌套的 for 循环,当涉及到很多列时,这可能会导致计算效率低下。 有一个更好的方法吗?

假设您必须检查每一列,并且假设每个敏感词都出现在给定字符串的 END 处,这样效率会稍微高一些:

for df in uploaded_csv_files:
  for column in df:
    for s in sensitive_list:
      if column.split("_")[1].endswith(s):
        print(f"{column} has a sensitive element")

您必须检查每一列的事实意味着有线性数量的工作要做。 所以你被这个约束困住了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM