import json


def read_corpus(file_path):
    """
    读取给定的语料库，并把问题列表和答案列表分别写入到 qlist, alist 里面。 在此过程中，不用对字符换做任何的处理（这部分需要在 Part 2.3里处理）
    qlist = ["问题1"， “问题2”， “问题3” ....]
    alist = ["答案1", "答案2", "答案3" ....]
    务必要让每一个问题和答案对应起来（下标位置一致）
    :param file_path: str, 问答对文件路径
    :return:
            qlist: list 问题列表
            alist: list 答案列表
    """
    qlist = []
    alist = []
    # 读取文件并将json解析为dict
    with open(file_path) as f:
        json_str = f.read()
    qa_dic = json.loads(json_str)
    # 解析dict，的到q-a对
    for data in qa_dic['data']:
        for para in data['paragraphs']:
            for qas in para['qas']:
                qlist.append(qas['question'])
                if len(qas['answers']) == 0:
                    alist.append(qas['plausible_answers'][0]['text'])
                else:
                    alist.append(qas['answers'][0]['text'])

    assert len(qlist) == len(alist)  # 确保长度一样
    return qlist, alist