Tôi đang tái cấu trúc một hàm, với một chuỗi các điểm cuối xác định ngầm định, kiểm tra xem một số có được bao gồm trong khoảng không và sau đó trả về tương ứng (không liên quan đến bất kỳ cách tính toán nào)). Mã mà bây giờ là xử lý công việc là:Python: Lập bản đồ từ các khoảng thời gian đến các giá trị
if p <= 100:
return 0
elif p > 100 and p <= 300:
return 1
elif p > 300 and p <= 500:
return 2
elif p > 500 and p <= 800:
return 3
elif p > 800 and p <= 1000:
return 4
elif p > 1000:
return 5
Đó là IMO khá khủng khiếp, và thiếu ở chỗ cả hai khoảng thời gian và giá trị trả về là mã hóa cứng. Có thể sử dụng bất kỳ cấu trúc dữ liệu nào.
+1 Tôi thích điều này. Bạn học được điều gì mới mỗi ngày. – kjfletch
+1: không thể tin được! –
Thực sự ấn tượng. Siêu sạch, và tôi cũng tin rất nhanh. Nó cũng có thể dễ dàng mở rộng trong trường hợp người ta cần một thứ tự không tự nhiên hoặc thứ gì đó ngược lại, giống như một chuỗi: nhập khẩu bisect n = bisect.bisect_left ([100,300,500,800,1000], p) a = ["vắng mặt", "thấp", "trung bình", "cao", "rất cao", "cực"] a [n] – Agos