当前位置: 首页 > news >正文

宁波住房与城乡建设部网站网销怎么销售的

宁波住房与城乡建设部网站,网销怎么销售的,中山专业做网站的公司,建设网站公司 优帮云文章目录 问题:搜索特定单词并定位思路代码实现官方代码代码解析 更进一步 问题:搜索特定单词并定位 一位研究人员收集了数千篇新闻文章。但她想将注意力集中在包含特定单词的文章上。完成以下功能以帮助她过滤文章列表。 您的函数应满足以下条件&…

文章目录

    • 问题:搜索特定单词并定位
    • 思路
      • 代码实现
      • 官方代码
      • 代码解析
    • 更进一步

问题:搜索特定单词并定位

一位研究人员收集了数千篇新闻文章。但她想将注意力集中在包含特定单词的文章上。完成以下功能以帮助她过滤文章列表。

您的函数应满足以下条件:

不要包含关键字字符串仅作为较大单词的一部分出现的文档。例如,如果她正在查找关键字“close”,则您不会包含字符串“enlined”。
她不希望你区分大小写字母。所以这句话“结案了”。当关键字“关闭”时将被包含
不要让句号或逗号影响匹配的内容。 “已经关门了。”当关键字为“close”时将被包含。但您可以假设没有其他类型的标点符号

思路

  1. 读取列表中的字符串并转为小写
  2. 去除两边的干扰符号",.?",使用strip()函数
  3. 将中间的逗号替换为空格使用split()函数划分为单词
  4. 然后将划分出的单词与keyword进行比对,如果在则在空列表中保存索引
  5. 返回结果列表
# doc_list = ["The Learn Python Challenge Casino.", "They bought a car", "Casinoville"]
doc_list=['The Learn Python Challenge Casino', 'They bought a car, and a horse', 'Casinoville?']
keyword = 'Casino'
list = []
l = len(doc_list)
for i in range(l):words = doc_list[i].lower()print(words)words = words.strip('.,?')print(words)wordlist = words.replace(",","").split()print(wordlist)for word in wordlist:if word == keyword.lower():list.append(i)print(i)
#         if keyword in wordlist:
#             print(i)
print(list)

在这里插入图片描述

代码实现

def word_search(doc_list, keyword):"""Takes a list of documents (each document is a string) and a keyword. Returns list of the index values into the original list for all documents containing the keyword.Example:doc_list = ["The Learn Python Challenge Casino.", "They bought a car", "Casinoville"]>>> word_search(doc_list, 'casino')>>> [0]"""list = []l = len(doc_list)for i in range(l):words = doc_list[i].lower()words = words.strip(',.?')wordlist = words.replace(",","").split()for word in wordlist:if word == keyword:list.append(i)breakreturn list

官方代码

def word_search(doc_list, keyword):# list to hold the indices of matching documentsindices = [] # Iterate through the indices (i) and elements (doc) of documentsfor i, doc in enumerate(doc_list):# Split the string doc into a list of words (according to whitespace)tokens = doc.split()# Make a transformed list where we 'normalize' each word to facilitate matching.# Periods and commas are removed from the end of each word, and it's set to all lowercase.normalized = [token.rstrip('.,').lower() for token in tokens]# Is there a match? If so, update the list of matching indices.if keyword.lower() in normalized:indices.append(i)return indices

代码解析

enumerate() 是 Python 的一个内置函数,用于为可迭代对象(如列表、元组或字符串)提供一个自动计数器,同时遍历该对象。它返回一个包含索引和值的迭代器,常用于 for 循环中。
enumerate(iterable, start=0)

  • iterable: 任何可以遍历的对象,如列表、字符串等。
  • start(可选): 计数的起始值,默认为 0,也可以指定其他起始值。
  • enumerate() 返回一个迭代器对象,每次迭代返回一个元组,包含当前元素的索引和元素值。
  • 向字典中添加键值对(元素对)
    dictionary[key] = value
    • key:表示字典的键。
    • value:表示该键对应的值。
      在这里插入图片描述
  • str.split() 方法用于根据指定的分隔符将字符串拆分为子字符串列表。默认情况下,分隔符是任意的空白字符(空格、制表符或换行符)
    string.split(separator, maxsplit)
    • separator(可选): 指定的分隔符字符串。如果没有提供,字符串会按空白字符进行拆分。
    • maxsplit(可选): 指定最大拆分次数。默认值是 -1,表示不限制拆分次数。
  • str.rstrip() 是 Python 中的一个字符串方法,用于删除字符串末尾的指定字符(默认为空白字符)。
    string.rstrip([chars])
    • chars(可选): 指定要移除的字符序列。如果没有提供,默认会移除末尾的所有空白字符(包括空格、换行符、制表符等)。
  • str.strip() 是 Python 中用于删除字符串两端(开头和结尾)指定字符(默认为空白字符)的一个方法。它可以同时移除字符串开头和末尾的字符。
    string.strip([chars])
    • chars(可选): 指定要移除的字符序列。如果没有提供,默认会移除两端的所有空白字符(如空格、换行符、制表符等)。
    • result = text.strip(“,。?”) # 删除两端的 ‘,’、‘。’、‘?’

更进一步

现在研究人员想要提供多个关键字进行搜索。完成下面的函数来帮助她。

(我们鼓励您在实现此函数时使用刚刚编写的word_search函数。以这种方式重用代码可以使您的程序更加健壮和可读 - 并且可以节省打字!)
1、在里面改写函数,使用循环对多个keywords进行判断

def multi_word_search(doc_list, keywords):"""Takes list of documents (each document is a string) and a list of keywords.  Returns a dictionary where each key is a keyword, and the value is a list of indices(from doc_list) of the documents containing that keyword>>> doc_list = ["The Learn Python Challenge Casino.", "They bought a car and a casino", "Casinoville"]>>> keywords = ['casino', 'they']>>> multi_word_search(doc_list, keywords){'casino': [0, 1], 'they': [1]}"""# list to hold the indices of matching documents
#     indices = []dictionary = {}for keyword in keywords:indices = []# Iterate through the indices (i) and elements (doc) of documentsfor i, doc in enumerate(doc_list):# Split the string doc into a list of words (according to whitespace)tokens = doc.split()# Make a transformed list where we 'normalize' each word to facilitate matching.# Periods and commas are removed from the end of each word, and it's set to all lowercase.normalized = [token.rstrip('.,').lower() for token in tokens]# Is there a match? If so, update the list of matching indices.if keyword.lower() in normalized:indices.append(i)dictionary[keyword] = indicesreturn dictionary# Check your answer
q3.check()

2、直接调用前面已经实现的函数word_search(doc_list, keyword)

def multi_word_search(doc_list, keywords):"""Takes list of documents (each document is a string) and a list of keywords.  Returns a dictionary where each key is a keyword, and the value is a list of indices(from doc_list) of the documents containing that keyword>>> doc_list = ["The Learn Python Challenge Casino.", "They bought a car and a casino", "Casinoville"]>>> keywords = ['casino', 'they']>>> multi_word_search(doc_list, keywords){'casino': [0, 1], 'they': [1]}"""keyword_to_indices = {}for keyword in keywords:keyword_to_indices[keyword] = word_search(doc_list, keyword)return keyword_to_indices
http://www.shuangfujiaoyu.com/news/58270.html

相关文章:

  • 用自己的电脑做服务器弄网站网络营销策划方案的目的
  • 厦门网站j建设店铺在百度免费定位
  • 杭州滨江网站建设公司网络优化培训骗局
  • 做网站前台模板在广州做seo找哪家公司
  • 自己做网站还需要交其他费用吗企业网站优化方案
  • 有没有免费的企业网站建设推广赚佣金
  • 网站建设属于无形资产靠谱的免费建站
  • 网站外链怎么做营销策略分析包括哪些内容
  • 怎样做seo网站链接佛山营销型网站建设公司
  • 做美食类网站分析谷歌seo排名工具
  • 石家庄哪里可以做网站下载百度app下载
  • 如何建立网站的步骤上海培训机构排名
  • 建设银行河南分行网站做百度推广代运营有用吗
  • 中国疫情最新消息数据优化百度搜索
  • 无极分期网站七牛云
  • 做服装商城网站论文百度网盘网页
  • 大连建网站策划seo分析
  • 加盟招商推广网站seo网页优化服务
  • 网站开发语言和数据库手机百度搜索
  • 网推项目平台北京外贸网站优化
  • 百度关键词网站怎么做百度竞价排名利弊
  • 网页设计大赛海报seo优化名词解释
  • 做服装找工作网站网站后端开发
  • wordpress编辑主页成都seo优化推广
  • phpcms移动端网站怎么做游戏推广怎么做引流
  • 销售网站模板免费下载软文推广文案
  • 网站定位广告网络营销课程培训
  • 现在企业做门户网站专业提升关键词排名工具
  • 专业做外贸网站免费开发软件制作平台
  • 个人网站做百度推广班级优化大师使用指南