举一反三学python(2)—函数应用
创始人
2025-06-01 21:09:50
Con_Info = ["王伟(男),河南郑州, 137****8331","杨秀娟(女),陕西西安, 138****4117","刘子豪(男),河北廊坊, 136****2964","李发魁(男),河南洛阳, 139***3297","王小花(女),山西太原, 138****0042",]'''
要求对上述文本数据解析,获得如下格式的结构化信息:
[{"name": "王伟", "sex":"男", address": "河南郑州", "pho": "137****8331"},{"name": "杨秀娟", "sex":"女","address": "陕西西安", "pho": "138****4117"},
]
我们先分析一个例子,解析这个文本数据:""王伟(男),河南郑州, 137****8331"。
首先,定义一个函数 parse_parts,通过逗号拆分出姓名(性别)、住址、手机号码三大部分。
其次,定义一个函数 parse_name,通过对姓名(性别)部分的进一步拆分,获得姓名、性别分项。
然后,定义一个函数 parse_profile,组装数据成要求的格式
接着,定义一个函数 parse_creators,完成解析。 
最后,调用函数,完成任务  
'''# 通过逗号拆分出每条数据为姓名(性别)、住址、手机号码三大部分
def parse_parts(creator):info = creator.split(',')name_sex, address, pho = info[0], info[1], info[2]return name_sex, address, pho# 通过对姓名(性别)部分的进一步拆分,获得姓名、性别分项
def parse_name(name_sex):index = name_sex.find('(')                # 找到符号(的索引name, sex = name_sex[0:index], name_sex[index+1:-1]  # 切片分割字符串return name, sex# 方法1
# 调用函数,组装数据成要求的格式
# def parse_profile(creator):
#   name_sex, address, pho = parse_parts(creator)
#   name, sex = parse_name(name_sex)
#   return {"name": name, "sex": sex, "address": address, "pho": pho}
#
# 调用函数,解析数据逐一添加新的列表中
# def parse_creators(creators):
#   profiles = []
#   for creator in creators:       # 数据遍历
#     profile = parse_profile(creator)
#     profiles.append(profile)
#   return profiles# 方法2
# def parse_creators(creators):
#   profiles = []
#   for creator in creators:
#     name_sex, address, pho = parse_parts(creator)
#     name, sex = parse_name(name_sex)
#     profiles.append({"name": name, "sex": sex, "address": address, "pho": pho})
#   return profiles# 方法3, 与方法1类同,只是后面用的是列表推导式
def parse_profile(creator):name_sex, address, pho = parse_parts(creator)name, sex = parse_name(name_sex)return {"name": name, "sex": sex, "address": address, "pho": pho}
def parse_creators(creators):return [parse_profile(creator) for creator in creators]# 调用函数,完成任务
if __name__ == '__main__':profiles = parse_creators(Con_Info)print(profiles)

运行结果展示:

相关内容

热门资讯

抓住AI时代机遇,面向Cogn... 通信世界网消息(CWW)在成立35周年之际,AIS推出了旨在利用人工智能推动国家进步的全新战略愿景。...
事关你的收入、消费、住房!20... (来源:消费日报官方平台)转自:消费日报官方平台近期,多部门召开工作会议,梳理总结2025年工作,研...
龙虎榜|三花智控今日涨停 深股... 转自:财联社【龙虎榜|三花智控今日涨停 深股通专用席位买入5.54亿元并卖出2.35亿元】财联社12...
明年2月起,中小学校应开设这门... 转自:武汉发布↓↓↓ 与未成年人相关 ▪未成年人的父母或者其他监护人应当发挥言传身教作用,开展力所能...
投资者提问:请问贵公司是否有可... 投资者提问:请问贵公司是否有可以用于商业航天或者卫星的保护管套,据悉该细分领域目前为国外垄断,国内贵...