使用 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