使用 Python 计算匹配规则的项目的程序
假设我们有一个数组nums,其中每个nums[i]包含三个元素[type_i,color_i,name_i]。这些描述了第i个项目的类型、颜色和名称。我们还有一个由另外两个字符串表示的规则,ruleKey和ruleValue。如果以下条件之一为真,现在我们可以说第i个项目与规则匹配-
ruleKey="type"和ruleValue=type_i。
ruleKey="color"和ruleValue=color_i。
ruleKey="name"和ruleValue=name_i。
我们必须找到我们可以找到的匹配数量。
所以,如果输入是这样的
而ruleKey="color",ruleValue="blue",那么输出将是2因为有两个匹配[["Bike","blue","ElecB"]和["Bike","blue","TVS"]]。
为了解决这个问题,我们将按照以下步骤操作-
计数:=0
如果ruleKey与“type”相同,则
如果items[i,0]与ruleValue相同,则
计数:=计数+1
对于i在0到项目大小的范围内,请执行
如果ruleKey与"color"相同,则
如果items[i,1]与ruleValue相同,则
计数:=计数+1
对于i在0到项目大小的范围内,请执行
如果ruleKey与“name”相同,则
如果items[i,2]与ruleValue相同,则
计数:=计数+1
对于i在0到项目大小的范围内,请执行
返回计数
让我们看看以下实现以获得更好的理解-
示例
def solve(items, ruleKey, ruleValue): count = 0 if ruleKey == "type": for i in range(len(items)): if items[i][0] == ruleValue: count += 1 if ruleKey == "color": for i in range(len(items)): if items[i][1] == ruleValue: count += 1 if ruleKey == "name": for i in range(len(items)): if items[i][2] == ruleValue: count += 1 return count items = [["Bike","blue","ElecB"],["Car","silver","Sumo"],["Bike","blue","TVS"]] ruleKey = "color" ruleValue = "blue" print(solve(items, ruleKey, ruleValue))
输入
[["Bike","blue","ElecB"],["Car","silver","Sumo"],["Bike","blue","TVS"]],"color", "blue"输出结果
2