Я хотел бы классифицировать значения в одном списке на основе пороговых значений в другом списке. Другими словами, я хотел бы сравнить элементы списка один за другим с пороговыми значениями в списке - один за другим и получить выходной список категорий.
input:
Values = [9999, 3000, 400, 9999, 1000] - it is variably long due to input data
Threshold = [10000, 5000, 1500, 800, 0] - also will be changed, so have to be variable - but always sorted descending to 0
Expected output (categories' numbers should be based on index):
cat = [0,1,3,0,2]
Я убежден, что это может быть сделано с расширенным пониманием списка, с которым я не очень знаком. Итак, я попробовал:
val_cat = []
thres_len = len(Threshold)
for item in Values:
for vis in range(0,thres_len - 1):
if Threshold[vis+1] < int(item) <= Threshold[vis]:
val_cat = val_cat + [vis]
else:
pass
Этот способ не является ни питоническим, ни функциональным, но лучше всего я мог бы попробовать, так как я изучал только основы VB несколько лет назад.
Спасибо за вашу помощь! Я считаю, что для этого сообщества это кусок пирога: -)