def delete_record(data_table, idx_record):
    """
    从原有的数据表中删除特定序号的数据

    Args:
        data_table: 原始数据表
        idx_record: 将要删除的行的序号，这里的序号是按照表格中所示，也就是从1开始的计数

    Returns:
        data_table: 删除特定行之后的新表
    """
    total_num = data_table["total_num"]
    assert 0 < idx_record <= total_num

    pop_kv = data_table[str(idx_record)]
    # idx_record 是合法的
    if idx_record == total_num:
        # .pop()方法返回的是被删除的键值对，本身是一个in-place操作
        data_table.pop(str(idx_record))
    else:
        for idx in range(idx_record, total_num):
            data_table[str(idx)] = data_table[str(idx + 1)]
        data_table.pop(str(total_num))

    data_table["total_num"] -= 1
    return data_table