# coding=UTF8
"""
create time:2022-12-01 10:14:49
@Author :wyk
"""
programmers = [
"约翰·巴科斯(JohnWarnerBackus), 创建了Fortran语言",
"阿兰·库珀(Alan Cooper), 开发了Visual Basic语言",
"詹姆斯·高斯林(James Gosling), 开发了Java语言",
"安德斯·海尔斯伯格(Anders Hejlsberg), 开发了Turbo Pascal、Delphi、C#以及TypeScript",
"丹尼斯·里奇(Dennis MacAlistair Ritchie), 发明了C语言",
"比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup), 他以创造C++编程语言而闻名,被称为“C++之父”",
"吉多·范罗苏姆(Guido van Rossum), 创造了 Python"
]
def parse_parts(creator):
index = creator.find(',')
name, achievement = creator[0:index], creator[index + 1:]
return name.strip(), achievement.strip()
def parse_name(name):
index = name.find('(')
index2 = name.find(')')
name_cn, name_en = name[0:index], name[index + 1:index2]
return name_cn, name_en
def parse_creators(creators):
profiles = []
for i in creators:
name, achievement = parse_parts(i)
name_cn, name_en = parse_name(name)
profiles.append({'name_cn': name_cn, 'name_en': name_en, 'achievement': achievement})
return profiles
if __name__ == '__main__':
print(parse_creators(programmers))
输出结果:
[{‘name_cn’: ‘约翰·巴科斯’, ‘name_en’: ‘JohnWarnerBackus’, ‘achievement’: ‘创建了Fortran语言’},
{‘name_cn’: ‘阿兰·库珀’, ‘name_en’: ‘Alan Cooper’, ‘achievement’: ‘开发了Visual Basic语言’},
{‘name_cn’: ‘詹姆斯·高斯林’, ‘name_en’: ‘James Gosling’, ‘achievement’: ‘开发了Java语言’},
{‘name_cn’: ‘安德斯·海尔斯伯格’, ‘name_en’: ‘Anders Hejlsberg’, ‘achievement’: ‘开发了Turbo Pascal、Delphi、C#以及TypeScript’},
{‘name_cn’: ‘丹尼斯·里奇’, ‘name_en’: ‘Dennis MacAlistair Ritchie’, ‘achievement’: ‘发明了C语言’},
{‘name_cn’: ‘比雅尼·斯特劳斯特鲁普’, ‘name_en’: ‘Bjarne Stroustrup’, ‘achievement’: ‘他以创造C++编程语言而闻名,被称为“C++之父”’},
{‘name_cn’: ‘吉多·范罗苏姆’, ‘name_en’: ‘Guido van Rossum’, ‘achievement’: ‘创造了 Python’}]