【数据分析面试】55. 寻找双词组 (Python)

在这里插入图片描述

题目: 寻找双词组 (Python)

编写一个名为 find_bigrams 的函数,该函数接收一个句子或段落的字符串,并按顺序返回其所有双词组的列表。

注意: 双词组是指连续的两个单词。

示例:

输入:

sentence = """
Have free hours and love children? 
Drive kids to school, soccer practice 
and other activities.
"""

输出:

def find_bigrams(sentence) ->[('have', 'free'),('free', 'hours'),('hours', 'and'),('and', 'love'),('love', 'children?'),('children?', 'drive'),('drive', 'kids'),('kids', 'to'),('to', 'school,'),('school,', 'soccer'),('soccer', 'practice'),('practice', 'and'),('and', 'other'),('other', 'activities.')]

答案

解题思路

解决这个问题的关键在于将输入的句子或段落分割成单词,并找到所有相邻的单词对。我们可以使用 Python 的字符串处理方法来实现这个功能。具体步骤如下:

  1. 移除输入字符串的换行符,并将其转换为小写以确保一致性。
  2. 使用 split() 方法将字符串按空格分割成单词列表。
  3. 使用列表推导式或循环生成所有相邻的单词对。

答案代码

def find_bigrams(sentence):# 去掉换行符并将字符串转换为小写sentence = sentence.replace('\n', ' ').lower()# 按空格分割字符串以获取单词列表words = sentence.split()# 生成所有相邻的单词对bigrams = [(words[i], words[i + 1]) for i in range(len(words) - 1)]return bigrams# 示例输入
sentence = """
Have free hours and love children? 
Drive kids to school, soccer practice 
and other activities.
"""# 打印输出
print(find_bigrams(sentence))
  • sentence.replace('\n', ' '): 将字符串中的换行符替换为空格。
  • sentence.lower(): 将字符串转换为小写。
  • sentence.split(): 将字符串按空格分割成单词列表。
  • [(words[i], words[i + 1]) for i in range(len(words) - 1)]: 使用列表推导式生成所有相邻的单词对。

更多详细答案可关注公众号查阅。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/17687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript(ES6)入门

ES6 1、介绍 ECMAScript 6(简称ES6)是于2015年6月正式发布的JavaScript 语言的标准,正式名为ECMAScript 2015(ES2015)。它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。…

Dolphinscheduler不重启加载Oracle驱动

转载自刘茫茫看山 问题背景 某天我们的租户反馈数据库连接缺少必要的驱动,我们通过日志查看确实是缺少部分数据库的驱动,因为DolphinScheduler默认只带了Oracle和MySQL的驱动,并且需要将pom文件中的test模式去掉才可以在打包的时候引入。我…

Unity Dotween 定位点的制作

目录 前言 一、动画预览 二、动画拆分 三、素材准备 四、曲线 OutCirc详解 五、速度分类详解 六、代码 七、组件和设置 八、作者的话 前言 我答应我的粉丝接下来更新Dotween系列,但是我一直没想好,从哪里开始讲。 Dotween的安装我就跳过了&…

QtCreator调试运行工程报错,无法找到相关库的的解决方案

最新在使用国产化平台做qt应用开发时,总是遇到qtcreator内调试运行 找不到动态库的问题,为什么会出现这种问题呢?明明编译的时候能够正常通过,运行或者调试的时候找不到相关的库呢?先说结论,排除库本身的问…

精酿啤酒:品质与口感在消费者选择中的权重分析

在啤酒市场中,消费者选择的影响因素众多,其中品质与口感是两个核心要素。对于Fendi club啤酒而言,品质与口感的权重分析在消费者选择中显得尤为重要。 品质是消费者选择啤酒的首要因素。随着消费者对啤酒认知的提高,他们对品质的…

德邦快递和德邦物流运费标准哪个更划算?怎样才能便宜的寄大件快递?

在寄大件包裹快递时,我们一般都知道选择德邦,那么德邦快递和德邦物流的收费标准哪个更划算呢?下面,让我们一起来了解德邦快递和德邦物流的收费标准,以及如何根据实际情况做出最佳选择。 首先了解快递费用构成 快递费用…

Prometheus Operator创建告警规则并接入钉钉报警

prometheus之钉钉报警 前言1. 添加prometheus报警规则1.2 添加自定义报警规则文件 2. 配置钉钉报警2.2 部署dingding插件 3. 编写alertmanager配置文件 前言 在kubenetes上安装了kube-promethues(包含Prometheus Operator),程序正常跑起来了&#xff0c…

IC开发——verdi基本用法

1. 基础知识 1.1. verdi VCS和Verdi这两个工具,这两个工具目前都属于synopsys公司。VCS主要负责编译运行Testbench和RTL,并负责生成相应的波形文件。而verdi主要负责加载波形文件,查看信号的波形及其对应的代码来进行调试验证。Verdi最开始…

Linux 查找命令的操作,学完效率瞬间翻倍?

可以很肯定地说,find 命令是 Linux 运维必须熟知的操作之一。 让我们看一道题: 如果你的 Linux 服务器上有一个名为 .logs 的目录,如何删除该目录下最后一次访问时间超过一年的日志文件呢? 这种情况很常见,但令人惊讶…

【Linux系统】进程间通信

本篇博客整理了进程间通信的方式管道、 system V IPC的原理,结合大量的系统调用接口,和代码示例,旨在让读者透过进程间通信去体会操作系统的设计思想和管理手段。 目录 一、进程间通信 二、管道 1.匿名管道 1.1-通信原理 1.2-系统调用 …

简谈SUID提权

SUID提权 0x01什么是SUID ​ SUID (Set UID)是Linux中的一种特殊权限,其功能为用户运行某个程序时,如果该程序有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件所属的属主。但是SUID权限的设置只针对二进制可…

强化学习4:DQN 算法

看这篇文章之前,建议先了解一下:Q-Learning 算法。 1. 算法介绍 DQN 算法全称为 Deep Q-Network,即深度Q网络。它将 Q-Learning 与 Deep Learning 结合在了一起。 1.1 Q-Network Q-Learning 是使用 Q-table 才存储决策信息的,…

AI推文神器,绘唐ai,文刻创作出品,sdmj二合一虹猫

AI推文神器,绘唐ai,文刻创作出品,sdmj二合一虹猫 https://qvfbz6lhqnd.feishu.cn/wiki/CcaewIWnSiAFgokOwLycwi0Encfhttps://qvfbz6lhqnd.feishu.cn/wiki/CcaewIWnSiAFgokOwLycwi0Encf AI推文神器是一种基于人工智能技术的工具,旨在帮助用户快速生成优质的推文。它通过分…

iPhone“已删除”照片被恢复,苹果到底有没有后门?

继微软本周推出的Windows“回忆”功能引发隐私焦虑,遭马斯克和安全大咖们猛烈抨击后,苹果iPhone手机近日也曝出了类似的“记忆门”。 删除十几年的iPhone照片被恢复 近日,有苹果手机用户更新了苹果上周发布的iOS 17.5系统后,意外…

2024最新版本激活Typora,1.8.10.0版本可用

​实测可用日期为:2024-05-28 目前最新版本 1.8.10.0 也是可以实现激活的 注:免修改注册表、不用修改时间,更不需要破解补丁 01、下载&安装 Typora 文件 从官网下载最新版本的 Typora,并安装 或者阿里云盘: htt…

Pytorch深度学习实践笔记12(b站刘二大人)

🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:pytorch深度学习 🎀CSDN主页 发狂的小花 🌄人生秘诀:学习的本质就是极致重复! 《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibi…

数据集008:吸烟、抽烟检测数据集(含数据集下载链接)

数据集简介 两个数据集 一个是783张图片对应的xml文件 一个是2482张图片对应的xml文件 如下图所示: 部分代码: # 测试数据读取 def test_data_loader(datadir, batch_size 10, test_image_size608, modetest):"""加载测试用的图片…

大学生选择算法向还是嵌入式向?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! 由于嵌入式的薪资待遇和…

品牌建设不迷路:系统化方法让品牌成长更高效

很多创始人才创业过程中都会发现: 企业越大,遇到的系统性的底层品牌问题就会越多,品牌的系统化建设底层根基如果不稳,后续的增长也会摇摇欲坠。 所以在当今竞争激烈的市场环境中,品牌的成功不仅仅依靠一个响亮的名字…

【Linux】Linux的权限_1

文章目录 三、权限1. shell外壳2. Linux的用户3. Linux权限管理文件访问者的分类文件类型和访问权限 未完待续 三、权限 1. shell外壳 为什么要使用shell外壳 由于用户不擅长直接与操作系统直接接触和操作系统的易用程度、安全性考虑,用户不能直接访问操作系统。 什…