创建多维药物剂量时间列表

2024-04-26 06:21:01 发布

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

假设我正在创建一个管理药物的程序。 在一个确定的函数中,我需要创建一个具有两个维度的列表,第一个维度用于药品,第二个维度用于以小时为单位的时间。你知道吗

我得到了以下代码:

for med in curr_result:
        print(med)
        hours_result = []
        hours_result.append([med[3]])
        for times in range(med[2]):
            if times != 0:
                hours_result[med_counter].append(
                    hours_result[med_counter][times - 1] + med[6])
        med_counter = med_counter + 1
    print(hours_result)

它输出:

> ('Test1', '2014-03-16', 3, 7, 0, 0, 7)     
> ('Test2', '2014-03-20', 1, 20,40, 1, 0)    
> [[20]]

正确的结果是:

> [[7,14,21],[20]]

怎么了?你知道吗


Tags: 函数in程序列表forcountermedresult
2条回答

您应该在outer for循环的外部初始化hours\u result,这里为每个med设置为[]。你知道吗

您的数据似乎有一个模式:名称、日期、剂量、开始日期?,句号, 你似乎想要一份用药时间清单:

curr_result = [('Test1', '2014-03-16', 3, 7, 0, 0, 7),
               ('Test2', '2014-03-20', 1, 20,40, 1, 0)]

hours_result = []

for med in curr_result:
    hours = []
    for time in range(med[2]):
        hours.append(med[3] + time*med[6]) # 
    hours_result.append(hours)

print hours_result

印刷品:

[[7, 14, 21], [20]]

相关问题 更多 >