如何在Python字典中实现所有姓王同学的成绩?

Python013

如何在Python字典中实现所有姓王同学的成绩?,第1张

假设是score_dict={人名:成绩}

for name in score_dict:

if name.startswith("王"):

print(score_dict.get(name))

先收集常见姓氏列表,获取姓名的第一个字,然后在姓氏列表中匹配,如果找到那么姓氏就是这个字,如果没找到就尝试姓名前两个字,如果还没找到就尝试更多字(当然中国姓氏一般就两字,我还没见过两字以上的姓)或者手动辨别姓氏,然后把姓氏补充进列表。这种思路的问题在于复合姓可能会出问题,比如”司“和”司马“,脚本识别出的姓会是”司“。#!/usr/bin/env python# -*- coding: utf-8 -*-# Python 版本需要为 3.5 以上first_names = ('李', '王', '司', '司马')def name_parser(name, first_name_count=1):"""分析姓名,返回姓和名的元组:param str name: 姓名:param int first_name_count: 姓氏长度,默认为1:return: 姓和名的元组,如果没分析成功就返回空元组:rtype: tuple"""if name[0:first_name_count] in first_names:return (name[0:first_name_count], name[first_name_count:])else:return ()if __name__ == '__main__':# name.txt 需要为 UTF-8 编码,如果为其他编码,自行优化处理with open('name.txt', 'r', encoding='utf-8') as f:for i in f:name = i.rstrip('\n')# 最多尝试两字的姓for n in range(1, 3):s = name_parser(name, n)if s:print('{} 的姓氏为: {},名字为: {}.'.format(name, s[0], s[1]))breakelse:print('未分析出 {} 的姓氏和名字,可能需要补充姓氏列表.'.format(name))

现在互联网发展迅速,众多行业巨头,都已经转投到人工智能领域,而人工智能的首选编程语言就是python,所以学好Python能够从事的工作还是很多的,而且前景非常不错。

学完python可以应用于以下领域:

①Web 和 Internet开发

②科学计算和统计

③人工智能

④桌面界面开发

⑤软件开发

⑥后端开发

⑦网络爬虫

可以从事的岗位也很多,比如Python爬虫工程师,大数据工程师等等!

互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。

想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。

祝你学有所成,望采纳。