def assumption_param_text(pname, ptype, param):
    """
    Extract info from param for pname of ptype and return as HTML string.
    """
    # pylint: disable=len-as-condition
    sec1 = param['section_1']
    if len(sec1) > 0:
        txt = '<p><b>{} &mdash; {}</b>'.format(sec1, param['section_2'])
    else:
        txt = '<p><b>{} &mdash; {}</b>'.format('Assumption Parameter',
                                               ptype.capitalize())
    txt += '<br><i>tc Name:</i> {}'.format(pname)
    if len(sec1) > 0:
        txt += '<br><i>TB Name:</i> {}'.format(param['long_name'])
    else:
        txt += '<br><i>Long Name:</i> {}'.format(param['long_name'])
    txt += '<br><i>Description:</i> {}'.format(param['description'])
    if len(param['notes']) > 0:
        txt += '<br><i>Notes:</i> {}'.format(param['notes'])
    txt += '<br><i>Default Value:</i>'
    if len(param['col_label']) > 0:
        cols = ', '.join(param['col_label'])
        txt += '<br>&nbsp;&nbsp; for: [{}]'.format(cols)
    for cyr, val in zip(param['row_label'], param['value']):
        txt += '<br>{}: {}'.format(cyr, val)
    txt += '</p>'
    return txt