python获取并归纳信息

# 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’}]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值