Giả sử chúng ta có một nums mảng, trong đó mỗi nums [i] chứa ba phần tử [type_i, color_i, name_i]. Đây là mô tả loại, màu sắc và tên của mặt hàng thứ i. Chúng tôi cũng có một quy tắc được đại diện bởi hai chuỗi khác, ruleKey và ruleValue. Bây giờ chúng ta có thể nói rằng mục thứ i phù hợp với quy tắc nếu một trong những điều sau là đúng -
-
ruleKey ="type" và ruleValue =type_i.
-
ruleKey ="color" và ruleValue =color_i.
-
ruleKey ="name" và ruleValue =name_i.
Chúng ta phải tìm số lượng kết hợp mà chúng ta có thể tìm thấy.
Vì vậy, nếu đầu vào giống như
Xe đạp | xanh lam | ElecB |
Xe ô tô | bạc | Sumo |
Xe đạp | xanh lam | TVS |
Và ruleKey ="color", ruleValue ="blue", thì đầu ra sẽ là 2 vì có hai kết quả phù hợp [["Bike", "blue", "ElecB"] và ["Bike", "blue", "TVS "]].
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
đếm:=0
-
nếu ruleKey giống như "type" thì
-
đối với tôi trong phạm vi từ 0 đến kích thước của các mục, hãy làm
-
nếu các mục [i, 0] giống với ruleValue thì
-
count:=count + 1
-
-
-
-
nếu ruleKey giống với "color" thì
-
đối với tôi trong phạm vi từ 0 đến kích thước của các mục, hãy làm
-
nếu các mục [i, 1] giống với ruleValue thì
-
count:=count + 1
-
-
-
-
nếu ruleKey giống như "name" thì
-
đối với tôi trong phạm vi từ 0 đến kích thước của các mục, hãy làm
-
nếu các mục [i, 2] giống với ruleValue thì
-
count:=count + 1
-
-
-
-
số lần trả lại
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
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))
Đầu vào
[["Bike","blue","ElecB"],["Car","silver","Sumo"],["Bike","blue","TVS"]],"color", "blue"
Đầu ra
2