2024-05-16 02:31:41 发布
网友
大家好,我是python和代码的新手
我想对以下药物进行分组(ICD10编码):
A00 - B99 1 C00 - D49 2 D50 - D89 3 E00 - E89 4
我已经为映射创建了字典,它看起来像:
dict_ICD_10 = {"A":1,"B":1,"C":2,"D":2,"E":3}
但无论如何,这看起来是不正确的,因为D50-D89是在类3,但根据我的编码,它是在类2。 我从早上就开始挠头,但还没弄明白。有没有一种方法可以从不同的角度来编写代码
提前谢谢
假设这些总是3位数字,您可以利用字母数字排序,并编写如下内容:
classes = ( ('A00', 'B99', 1), ('C00', 'D49', 2), ('D50', 'D89', 3), ('E00', 'E89', 4), ) def get_class(code): for low, high, cls in classes: if low <= code <= high: return cls return None
请注意,如果不匹配,这将返回None,并且您可能还希望首先强制执行有效的3字符代码(例如get_class('A1')返回1,但可能不应该)。而且,get_class('D90')返回None,但可能不是很明显的原因(尽管在该字段中可能很明显)。根据应用程序的不同,如果代码落在这些“洞”之间,您可能需要做一些不同的事情
None
get_class('A1')
get_class('D90')
假设这些总是3位数字,您可以利用字母数字排序,并编写如下内容:
请注意,如果不匹配,这将返回
None
,并且您可能还希望首先强制执行有效的3字符代码(例如get_class('A1')
返回1,但可能不应该)。而且,get_class('D90')
返回None
,但可能不是很明显的原因(尽管在该字段中可能很明显)。根据应用程序的不同,如果代码落在这些“洞”之间,您可能需要做一些不同的事情相关问题 更多 >
编程相关推荐