python - Python:如何在句子的单词列表中找到一个字母并以原始大小写(大写/小写)返回这些单词
问题描述
我正在尝试创建一个 Python 函数,该函数接受一个句子,将其转换为一个列表,并确定给定字母是否出现在该列表中的任何单词中,无论字母大小写如何。然后我希望该函数仅返回具有该字母的那些单词的列表,每个单词的字母都在其原始大小写中。
我已经能够返回这些单词,但现在所有字母都是小写的,即使它们最初是大写的。如何在原始情况下返回带有字母的单词?
我写的:
def word_with(word, char):
char_lower = char.lower()
word_lower = word.lower()
word_string = word_lower.split()
word_with = [x for x in word_string if char_lower in x]
return word_with
当我测试时:
word = "她在海边卖贝壳"
print(word_with(word, "s"))
输出是:
['她','卖','贝壳','海滨']
但我希望“她”有一个大写的“S”,就像它在原版中出现的那样。我该怎么做呢?谢谢。
解决方案
您的不起作用,因为您在检查之前将单词小写。在检查它是否在单词中时执行此操作,如下所示:
def word_with(sent, letter):
x = [word for word in sent.split() if letter in word.lower()]
return x
推荐阅读
- python - 从 Pandas Dataframe 列返回最大值和最小值的实际索引值
- swift - 异常'NSInvalidArgumentException',原因:'试图滚动到无效的索引路径
- javascript - 计算 n 和 m 之间所有偶数的总和
- java - Maven 使用本地依赖并得到 NoClassDefFoundError: javax/transaction/Synchronization
- go - AWS Lambda GoLang 错误
- angular - 如何在 ng-grid cellRenderer 中调用引导模式?
- java - 如何在 Firebase 数据库中存储多个图像 URL?
- c# - 如何将“根路径”捕获到变量中
- javascript - Angular-Formly:如果从下拉框中选择选项,请填写必填字段
- hadoop - Hadoop mapreduce - 映射 NullPointerException