【问题标题】:Check if else from an array of conditions从一系列条件中检查是否还有
【发布时间】:2021-01-17 05:08:13
【问题描述】:

所以我有一个元素列表,其中每个元素的格式为a,如果要在数据集中检查它的存在,如果要检查它的缺失,则格式为!a。我正在遍历数据集和列表。如何构造最终的逻辑条件并进行检查?

例如,如果我的数组是[!a, b, !c],那么在数据集的每个实例中我都需要评估if a not in instanace and b in instance and c not in instance。我可以将所有这些连接成一个字符串,但是 if 语句将检查该字符串的存在,而不是条件本身。

编辑:我的数据集是一个实例列表。从这里我构建了一个字典列表。在每个字典中,键是所有特征,如果在实例中找到该特征,则其值为 1,否则为 0。正如我最初在问题中提出的那样,我必须根据评估某些条件来创建子集。

【问题讨论】:

  • [!a, b, !c] 那是一个字符串列表吗?
  • 是的,它是一个字符串列表。
  • 您的条件格式是否需要更改?元组列表可能会使您的条件解析更简单:[('a', False), ('b', True), ('c', False)],命名元组会使它更清晰
  • 您能否提供示例输入和预期输出?
  • 所需的输出是可调用的对象/函数吗?

标签: python arrays python-3.x list if-statement


【解决方案1】:
def check_l(l):
    if l[0][0] == l[2][0] == '!' and l[1][0] != '!': return True
    else: return False

l = ['!a', 'b', '!c']

print (check_l(l))

if check_l(l):
    #do your stuff or
    pass

输出:

True

这适用于任何长度为 3 的测试列表,其中第一个字符是标准,并且您为 True 提到的组合。

所以你检查if check_l(l): 并进行处理。

【讨论】:

    猜你喜欢
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多