python中的字典编码

2024-05-16 02:31:41 发布

您现在位置:Python中文网/ 问答频道 /正文

大家好,我是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。 我从早上就开始挠头,但还没弄明白。有没有一种方法可以从不同的角度来编写代码

提前谢谢


Tags: 代码编码字典dict药物icd10新手b99
1条回答
网友
1楼 · 发布于 2024-05-16 02:31:41

假设这些总是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,但可能不是很明显的原因(尽管在该字段中可能很明显)。根据应用程序的不同,如果代码落在这些“洞”之间,您可能需要做一些不同的事情

相关问题 更多 >