返回顶部
首页 > 资讯 > 后端开发 > Python >python字典翻转怎么实现
  • 187
分享到

python字典翻转怎么实现

2023-08-03 18:08:42 187人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

今天小编给大家分享的是python字典翻转怎么实现,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。第1关 创建大学英语四级单词字典本关任务:编写一个能创建大学英语四级单词字典的小程序。

今天小编给大家分享的是python字典翻转怎么实现,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

第1关 创建大学英语四级单词字典

本关任务:编写一个能创建大学英语四级单词字典的小程序

测试输入: 10

预期输出: [('African', 'a.非洲的 n.非洲人'), ('Arabian', 'a.阿拉伯的'), ('Atlantic', 'a.大西洋的 n.大西洋'), ('August', 'n.八月'), ('Australia', 'n.澳大利亚'), ('Australian', 'a.澳大利亚的'), ('B.C.', '(缩)公元前'), ('Bible', 'n.基督教《圣经》'), ('Britain', 'n.不列颠,英国'), ('British', 'a.不列颠的,英联邦的')]

def create_dict(file):    """接收表示文件名的字符串参数,读文件中的单词及释义,以单词为键,其他部分为值创建字典。    多个释义间可能是逗号或空格分隔,但单词与第一个释义间至少有一个空格,    将文件每一行根据空格切分一次,切分结果分别作为键和值创新字典。    返回字典。    """    # 在下面一行补充代码,创建一个空字典    dic = {}                                                   # 创建空字典    with open(file, 'r', encoding='utf-8') as data:    # 打开文件,以读模式创建文件对象        for x in data:                                 # 遍历文件对象            Word, trans = x.strip().split(maxsplit=1)  # 每行根据空格切分为列表,只切分一次,将单词与释义分开            # 补充程序,列表的首个元素作为字典的键,第二个元素做字典的值,加入字典中,返回这个字典            dic.update({word:trans})            return dicif __name__ == '__main__':    filename = '/data/bigfiles/cet4.txt'    n = int(input())                     # 输入一个正整数    cet_dict = create_dict(filename)     # 调用函数,返回字典类型数据    # 在下面补充语句,根据字典的键对字典进行排序,得到排序的列表,输出列表前n项    print([x for x in sorted(cet_dict.items())][:n])

第2关 合并大学英语四六级词汇字典 

本关任务:编写一个能将大学英语四级、六级词汇合并为一个字典的小程序。

小明同学在准备参加大学英语四六级考试,为了督促自己背单词,他决定自己写一个背单词的程序。 cet4.txt cet6.txt

编程要求

根据提示,在右侧编辑器补充代码,读取数据集中的四级单和六级词文件,以单词为键,以中文解释为值,将两个文件中的数据创建为一个字典。输入一个正整数n,输出所创建字典排序后的前n项。

def create_dict(file):    """接收表示文件名的字符串参数,读文件中的单词及释义,以单词为键,其他部分为值创建字典。    多个释义间可能是逗号或空格分隔,但单词与第一个释义间至少有一个空格,    将文件每一行根据空格切分一次,切分结果分别作为键和值创新字典。    返回字典。    """    # 补充你的代码    dic = {}                                                   # 创建空字典    with open(file, 'r', encoding='utf-8') as data:    # 打开文件,以读模式创建文件对象        for x in data:                                 # 遍历文件对象            word, trans = x.strip().split(maxsplit=1)  # 每行根据空格切分为列表,只切分一次,将单词与释义分开            dic.update({word:trans})            return dicdef merge_dic(file1, file2):    """将读取两个文件中获得的字典合并为一个,返回合并后的字典"""    # 补充你的代码    dict1 = create_dict(file1)    dict2 = create_dict(file2)    dict3 = dict1 | dict2    return dict3Def sort_dic(cet_dic, n):    """根据字典的键对字典进行排序,得到排序的列表,返回列表前n项"""    # 补充你的代码    return [x for x in sorted(cet_dict.items())][:n]if __name__ == '__main__':    filename1 = '/data/bigfiles/cet4.txt'  # 数据文件名    filename2 = '/data/bigfiles/cet6.txt'  # 数据文件名    num = int(input())  # 输入一个正整数    cet_dict = merge_dic(filename1, filename2)  # 调用函数,返回字典类型数据    print(sort_dic(cet_dict, num))  # 输出排序后列表前n项

第3关 查单词输出中文释义

本关任务:编写一个能查询单词中文释义的小程序。

小明同学在准备参加大学英语四六级考试,为了督促自己背单词,他决定自己写一个背单词的程序。根据提示,在右侧编辑器补充代码,读取数据集中的四级单和六级词文件,以单词为键,以中文解释为值,将两个文件中的数据创建为一个字典。输入一个单词,查询并输出对应的释义,单词在字典中不存在时,输出'单词不存在'。

def create_dict(file):    """接收表示文件名的字符串参数,读文件中的单词及释义,以单词为键,其他部分为值创建字典。    多个释义间可能是逗号或空格分隔,但单词与第一个释义间至少有一个空格,    将文件每一行根据空格切分一次,切分结果分别作为键和值创新字典。    返回字典。    """    # 补充你的代码    dic = {}                                                   # 创建空字典    with open(file, 'r', encoding='utf-8') as data:    # 打开文件,以读模式创建文件对象        for x in data:                                 # 遍历文件对象            word, trans = x.strip().split(maxsplit=1)  # 每行根据空格切分为列表,只切分一次,将单词与释义分开            dic.update({word:trans})            return dicdef merge_dic(file1, file2):    """将读取两个文件中获得的字典合并为一个,返回合并后的字典"""    # 补充你的代码    dict1 = create_dict(file1)    dict2 = create_dict(file2)    dict3 = dict1 | dict2    return dict3def translate(cet_dic, word):    """接收两个参数,第一个是读文件创建的字典,第二个参数为要查询的单词,字符串    根据文件创建的字典,从中查询单词word,    如果查询单词存在,元组形式返回词与词的释义;    如果查询不存在,返回'单词不存在'    """    # 补充你的代码    if word in cet_dic:        return word,cet_dic[word]    else:        return word,'单词不存在'if __name__ == '__main__':    filename1 = '/data/bigfiles/cet4.txt'  # 数据文件名    filename2 = '/data/bigfiles/cet6.txt'  # 数据文件名    word = input()  # 输入一个单词    cet_dict = merge_dic(filename1, filename2)  # 调用函数,返回字典类型数据    result = translate(cet_dict, word)    print('{}: {}'.fORMat(*result))

第4关 删除字典中特定字母开头的单词

本关任务:编写一个能删除字典中特定字母开头的单词的小程序。

小明同学在准备参加大学英语四六级考试,为了督促自己背单词,他决定自己写一个背单词的程序。根据提示,在右侧编辑器补充代码,读取数据集中的四级单和六级词文件,以单词为键,以中文解释为值,将两个文件中的数据创建为一个字典。删除字典中特定字母开头的单词(首字母不区分大小写),输出删除后字典长度。

def create_dict(file):    """接收表示文件名的字符串参数,读文件中的单词及释义,以单词为键,其他部分为值创建字典。    多个释义间可能是逗号或空格分隔,但单词与第一个释义间至少有一个空格,    将文件每一行根据空格切分一次,切分结果分别作为键和值创新字典。    返回字典。    """    # 补充你的代码    dic = {}                                                   # 创建空字典    with open(file, 'r', encoding='utf-8') as data:    # 打开文件,以读模式创建文件对象        for x in data:                                 # 遍历文件对象            word, trans = x.strip().split(maxsplit=1)  # 每行根据空格切分为列表,只切分一次,将单词与释义分开            dic.update({word:trans})            return dicdef merge_dic(file1, file2):    """将读取两个文件中获得的字典合并为一个,返回合并后的字典"""    # 补充你的代码    dict1 = create_dict(file1)    dict2 = create_dict(file2)    dict3 = dict1 | dict2    return dict3def del_words(cet_dic, letter):    """删除字典中首字母与参数letter相同的单词,返回删除后的字典"""    # 补充你的代码    list1 = [x for x in cet_dic]    for i in range(len(list1)):        if list1[i][0].lower() == letter:            cet_dic.pop(list1[i])    return cet_dicif __name__ == '__main__':    filename1 = '/data/bigfiles/cet4.txt'  # 数据文件名    filename2 = '/data/bigfiles/cet6.txt'  # 数据文件名    alphabet = input().lower()             # 输入一个字母    cet_dict = merge_dic(filename1, filename2)  # 调用函数,返回字典类型数据    result = del_words(cet_dict, alphabet)  # 删除特定单词后的字典    print(len(result))                      # 输出字典长度

第5关 单词英汉记忆训练

编程要求

根据提示,在右侧编辑器补充代码,读取数据集中的四级单和六级词文件,以单词为键,以中文解释为值,将两个文件中的数据创建为一个字典。用户输入一个字母,用这个字母的ASCII值为随机数种子,随机抽取这个字母开头的单词(首字母不区分大小写)进行记忆训练,用户填写词义,用户输入的词义在释义中存在时认为回答正确,此时输出当前词全部释义;输入错误时,记录该单词信息到错词字典;用户直接输入回车时结束训练,并输出正确率并输出全部出错单词的信息。

import randomdef create_dict(file):    """接收表示文件名的字符串参数,读文件中的单词及释义,以单词为键,其他部分为值创建字典。    多个释义间可能是逗号或空格分隔,但单词与第一个释义间至少有一个空格,    将文件每一行根据空格切分一次,切分结果分别作为键和值创新字典。    返回字典。    """    # 补充你的代码    dic = {}                                                   # 创建空字典    with open(file, 'r', encoding='utf-8') as data:    # 打开文件,以读模式创建文件对象        for x in data:                                 # 遍历文件对象            word, trans = x.strip().split(maxsplit=1)  # 每行根据空格切分为列表,只切分一次,将单词与释义分开            # 补充程序,列表的首个元素作为字典的键,第二个元素做字典的值,加入字典中,返回这个字典            dic.update({word:trans})            return dicdef merge_dic(file1, file2):    """将读取两个文件中获得的字典合并为一个,返回合并后的字典"""    # 补充你的代码    dict1 = create_dict(file1)    dict2 = create_dict(file2)    dict3 = dict1 | dict2    return dict3def training(cet_dic, letter):    """输入一个字母,返回以这个字母开头的词汇的字典(不区分大小写),用于单词记忆训练"""    # 补充你的代码    list1 = [x for x in cet_dic]    for i in range(len(list1)):        if list1[i][0].lower() != letter:            cet_dic.pop(list1[i])    return cet_dicdef en_to_ch(train_dic):    """从训练字典中随机抽取以某个字母开头的单词,用户填写词义    回答正确时,输出当前词全部释义,输入错误时,记录该单词信息,    直接输入回车时结束输入,训练结束后输出全部出错单词的信息"""    # 创建空字典,用于容纳答错单词    dic1 = {}    while True:  # 无限循环用于一次训练记忆多个单词        word = random.choice(list(train_dic.keys()))   # 从字典的键中随机抽取一个单词        print(f'请输入单词{word}的中文翻译:')           # 输出提示语句        answer = input()                               # 输入当前单词的语义        if not answer:                                 # 直接回车时输入为空,结束循环            print('训练结束!')            break        # 补充你的程序,如果输入在释义中存在,输出完整释义,否则输出'答案错误'并将当前单词加入答错单词字典        elif answer in train_dic[word]:            print(f'{word}的释义为:{train_dic[word]}')        elif answer not in train_dic[word]:            print('答案错误')            dic1[word] = train_dic[word]    print('需要加强记忆的单词:')    # 补充代码,逐个输出答错字典中的单词和释义    for i in dic1:        print(f'{i}:{dic1[i]}')if __name__ == '__main__':    filename1 = '/data/bigfiles/cet4.txt'  # 数据文件名    filename2 = '/data/bigfiles/cet6.txt'  # 数据文件名    alphabet = input('输入今天训练单词首字母:\n').lower()    random.seed(ord(alphabet))             # 用当前字典的ASCII值做随机数种子,方便评测    cet_dict = merge_dic(filename1, filename2)  # 调用函数,返回字典类型数据    train_dict = training(cet_dict, alphabet)   # 本次训练单词的字典    en_to_ch(train_dict)                        # 调用函数进行训练

关于Python字典翻转怎么实现就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

--结束END--

本文标题: python字典翻转怎么实现

本文链接: https://lsjlt.com/news/365761.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python字典翻转怎么实现
    今天小编给大家分享的是python字典翻转怎么实现,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。第1关 创建大学英语四级单词字典本关任务:编写一个能创建大学英语四级单词字典的小程序。...
    99+
    2023-08-03
  • python字典翻转的实现
    目录第1关 创建大学英语四级单词字典第2关 合并大学英语四六级词汇字典 第3关 查单词输出中文释义第4关 删除字典中特定字母开头的单词第5关 单词英汉记忆训练第1关 创建大...
    99+
    2023-05-20
    python字典翻转 python翻转字典
  • python字典翻转教学
    目录 第1关 创建大学英语四级单词字典  第2关 合并大学英语四六级词汇字典  第3关 查单词输出中文释义 第4关 删除字典中特定字母开头的单词 第5关 单词英汉记忆训练 第1关 创建大学英语四级单词字典 本关任务:编写一个能创建大学英...
    99+
    2023-09-05
    python 学习 头歌
  • css怎么实现字体翻转
    本篇内容介绍了“css怎么实现字体翻转”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先,在页面中创建两个p标签,并添加文字用于对比;<...
    99+
    2023-07-04
  • php字符串翻转怎么实现
    这篇文章主要介绍了php字符串翻转怎么实现,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php字符串翻转的代码是“strrev(string)”,参数string用于规定要翻...
    99+
    2023-06-20
  • python怎么用字典推导反转字典
    这篇文章给大家分享的是有关python怎么用字典推导反转字典的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。用字典推导反转字典>>> m =&...
    99+
    2024-04-02
  • php怎么实现翻转
    小编给大家分享一下php怎么实现翻转,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php实现翻转的方法:1、使用strrev()函数实现英文字符串翻转;2、通过自...
    99+
    2023-06-22
  • python怎么实现字典推导
    这篇文章给大家分享的是有关python怎么实现字典推导的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。字典推导>>> m = {x:...
    99+
    2024-04-02
  • php怎么实现字符串无乱码翻转
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php怎么实现字符串无乱码翻转PHP中实现中文字符串反转避免乱码的方法 : 今天博主在网上看PHP面试题的时候,看到了这么一个问题,如何实现字符串反转,当时想不是有一...
    99+
    2016-11-27
    php 翻转
  • python中怎么实现字典排序
    python中怎么实现字典排序,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。<lo:  ="" j="lo&quo...
    99+
    2023-06-04
  • css3翻牌翻数字效果怎么实现
    这篇文章将为大家详细讲解有关css3翻牌翻数字效果怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果图如下:没有具体说做什么效果,但是想着纯数字转换太简单了,然后就顺手做了一个翻牌的效果。效果预览...
    99+
    2023-06-08
  • python怎么将文本转为字典
    要将文本转换为字典,你可以使用以下步骤:1. 读取文本文件并将其内容保存为字符串。2. 使用字符串解析器(如`json`模块)将字符...
    99+
    2023-09-29
    python
  • CSS中怎么实现旋转与翻转
    本篇文章为大家展示了CSS中怎么实现旋转与翻转,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。css 2.0还是没有翻转的,3.0里面有rotate属性,这个可以把元...
    99+
    2024-04-02
  • php如何实现字符串翻转
    在php中使用strrev()函数对字符串进行翻转,具体方法如下:strrev()函数作用:php中strrev()函数的作用是用于反转一个字符串,并输出。strrev()函数语法:strrev(string)参数:string:需要反转的...
    99+
    2024-04-02
  • css3怎么实现翻转效果
    这篇文章将为大家详细讲解有关css3怎么实现翻转效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css3实现翻转效果的方法:1、将外层元素设置perspective;2、将第二包裹层翻转180度,同时设...
    99+
    2023-06-14
  • python 字典转对象
    class DictToStruct:     def __init__(self, **entries):         self.__dict__.update(entries) struct = DictToStruct(**tem...
    99+
    2023-01-31
    字典 对象 python
  • 怎么利用python、php或c语言等实现字符串的翻转
    这篇文章主要讲解了“怎么利用python、php或c语言等实现字符串的翻转”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么利用python、php或c语言等实现字符串的翻转”吧!原题:Q:...
    99+
    2023-06-09
  • java通过注解翻译字典的实现示例
    最近在写代码时遇到一个需要将entity字段通过字典翻译成真实值的场景,原来的做法是通过主表字段和字典表关联的形式,当一个需要大量翻译的场景时,大量的关联会造成sql阅读的不友好,所...
    99+
    2024-04-02
  • 详解Java如何优雅的实现字典翻译
    目录什么是序列化使用序列化实现字典值的翻译总结什么是序列化 在Java中,序列化是将对象转换为字节流的过程,可以将这些字节流保存到文件中或通过网络进行传输。反序列化是将字节流转换为原...
    99+
    2023-05-18
    Java实现字典翻译 Java字典翻译 Java字典
  • python字典的hashtable实现
    python字典的key-value原理属于hashtable的范畴。 关于hashtable的一篇博客 关于python字典实现原理的一篇博客 ...
    99+
    2023-01-31
    字典 python hashtable
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作