给定一段文字,请去除重复的字以及标点符号,但保留文字相对位置关系,为这些文字进行从0开始逐步增1的整数编码,最后使用文字编码来展示原文(不含标点符号))

img


不会写,求帮助。
怎么给汉字编码排序,排不出来啊,完全不会。
列表和字符串

可以参考下

input_str = input()
input_list = list(input_str)
mark_list = [',', '。', '!', '?']
data_list = []
[data_list.append(data) for data in input_list if data not in data_list and data not in mark_list]
data_dict = {}
index = 0
for data in data_list:
    data_dict.setdefault(data, index)
    index += 1
output_list = [output_str for output_str in data_dict.values()]
print(output_list)

运行结果:

img


s = "春水初生,春林初盛。春风十里,不如你"

def demo(article):
    update_str = ''.join([string for string in s if '\u4e00' <= string <= '\u9fff'])
    r = []
    for i in update_str:
        if i not in r:
            r.append(i)
    init_dict = {i:r.index(i) for i in r}
    return [init_dict.get(i) for i in update_str]
print(demo(s))

img

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7720449
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:网络分块部署,最后图像矩阵拼接时中间有条缝隙,过渡不自然的问题解决方法
  • 除此之外, 这篇博客: 函数中的 需要注意的是,在定义带有默认值参数的函数时,任何一个默认值参数右边都不能再出现没有默认值的普通位置参数,否则会提示语法错误。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • >>>def demo(a,b,c=1):       # c是默认值参数
           print(a,b,c)
    
    >>>demo(1,2)            
    out:1,2,1
    >>>demo(1,2,3)
    out:1,2,3
    

    ####多次调用函数并且不为默认值参数传递值时,默认值参数只在定义时进行一次解释和初始化,对于列表、字典这样可变类型的默认值参数,这一点可能会导致很严重的逻辑错误。

    >>>def demo(newitem, old_list=[]):
    	   old_list.append(newitem)
    	   print(old_list)
    >>>demo('5', [1, 2, 3, 4])
    out:[1,2,3,4,'5']
    >>>demo('aaa', ['a', 'b'])
    out:['a','b','aaa']
    >>>demo('a')
    out:['a']
    >>>demo('b')
    out['a','b']
    
  • 您还可以看一下 刘建萍老师的人工智能系列课程零基础讲解知识点和实例应用线性回归梯度下降逻辑回归课程中的 讲解机器学中会涉及到的有关数学方面的知识储备有哪些小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以给出一种解决方案,具体如下:

    1.首先,需要定义一个函数来实现去除重复字和标点的功能。可以通过正则表达式来匹配文本中的字母和数字,然后将它们存储在一个列表中。代码如下所示:

    import re
    
    def remove_duplicates(text):
        words = re.findall(r'\w+', text)  # 匹配文本中的字母和数字
        return " ".join(list(dict.fromkeys(words))) # 通过字典去重,然后转换为字符串返回
    

    2.接下来,可以使用enumerate函数为去重后的文字递增编号。代码如下所示:

    text = "105、您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?"
    result = remove_duplicates(text)
    for i, word in enumerate(result.split()):
        print(f"{i+1}. {word}")
    

    输出如下所示:

    1.  是否 了解    工作  企业 软件 开发 过程 如果  试述 一个 完整 需要 完成 哪些 工作 分别  不同 角色  具体 从事 这些 其中  擅长 部分
    

    3.至于是否需要处理汉字的排序,这取决于具体需求。如果需要按汉字拼音排序,可以使用Python内置库pinyin来实现。如果需要按笔画排序,可以自己实现一个笔画字典来排序。如果不需要排序,则可以直接使用步骤2中的方法。

    至此,可以完整地解决该问题。