Python:如何在句子中查找字母';s单词列表,并以原始大小写返回这些单词(大写/小写)
我试图创建一个Python函数,该函数接受一个句子,将其转换为一个列表,并确定给定的字母是否出现在该列表中的任何单词中,而不考虑字母大小写。我希望函数只返回一个包含该字母的单词列表,每个单词的字母都在原来的大小写中 我已经能够返回这些单词,但是现在所有字母都是小写的,即使它们原来是大写的。我如何在原样中返回带字母的单词 我写的是:Python:如何在句子中查找字母';s单词列表,并以原始大小写返回这些单词(大写/小写),python,list,case,Python,List,Case,我试图创建一个Python函数,该函数接受一个句子,将其转换为一个列表,并确定给定的字母是否出现在该列表中的任何单词中,而不考虑字母大小写。我希望函数只返回一个包含该字母的单词列表,每个单词的字母都在原来的大小写中 我已经能够返回这些单词,但是现在所有字母都是小写的,即使它们原来是大写的。我如何在原样中返回带字母的单词 我写的是: def word_with(word, char): char_lower = char.lower() word_lower = word.lowe
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=“她在海边卖贝壳”打印(带“s”字的单词) 输出为: [“她”、“卖”、“贝壳”、“海滨”] 但是我希望“她”有一个大写的“S”,就像它在原稿中出现的那样。我该怎么做?谢谢。用这个:
[x for x in word_string if char_lower in x.lower()]
使用以下命令:
[x for x in word_string if char_lower in x.lower()]
不要对字符串执行任何强制转换,请在生成器中使用正则表达式,而不要在关键字中使用
:
def word_with(word, char):
return [x for x in word.split() if re.search(char, x, re.IGNORECASE)]
应该做到这一点。不要对字符串执行任何强制转换,在生成器中使用正则表达式,而不是在
关键字中使用:
def word_with(word, char):
return [x for x in word.split() if re.search(char, x, re.IGNORECASE)]
应该能做到。在使用小写字母并根据列表中的索引返回这些单词之前,我会尝试拆分
def word_with(word,char):
char\u lower=char.lower()
原始拆分=word.split()
word\u lower=word.lower()
word\u string=word\u lower.split()
word_with=[x代表范围内的x(len(word_字符串)),如果char_低于word_字符串[i]]
返回([original_split[i]for i in word_with])
在使用小写字母并根据列表中的索引返回这些单词之前,我会尝试拆分
def word_with(word,char):
char\u lower=char.lower()
原始拆分=word.split()
word\u lower=word.lower()
word\u string=word\u lower.split()
word_with=[x代表范围内的x(len(word_字符串)),如果char_低于word_字符串[i]]
返回([original_split[i]for i in word_with])
如果将.lower()
调用移动到列表理解的条件部分,则可以返回原始单词
大概是这样的:
def words_和(s,char):
char\u lower=char.lower()
#获取单个单词
words=s.split()
#返回所有包含字符的单词
return[如果字符在word.lower()中较低,则逐字逐句返回]
如果将.lower()
调用移动到列表理解的条件部分,则可以返回原始单词
大概是这样的:
def words_和(s,char):
char\u lower=char.lower()
#获取单个单词
words=s.split()
#返回所有包含字符的单词
return[如果字符在word.lower()中较低,则逐字逐句返回]
我们可以使用正则表达式:
请检查您是否使用此代码获得了所需的输出
import re
def word_with(word, char):
word_string = word.split()
print(word_string)
word_with = [x for x in word_string if re.search(r'^[s]',x,re.I)]
return(word_with)
word = "She sells seashells by the seashore"
print(word_with(word,'s'))
我们可以使用正则表达式执行此操作:
请检查您是否使用此代码获得了所需的输出
import re
def word_with(word, char):
word_string = word.split()
print(word_string)
word_with = [x for x in word_string if re.search(r'^[s]',x,re.I)]
return(word_with)
word = "She sells seashells by the seashore"
print(word_with(word,'s'))
这将返回与字符匹配的字母中的原始单词
def word_with(word, char):
return [x for x in word.split() if char.lower() in x.lower()]
这将返回与字符匹配的字母中的原始单词
def word_with(word, char):
return [x for x in word.split() if char.lower() in x.lower()]
你的不起作用,因为你在检查之前把单词改成小写。在检查是否在单词中时执行此操作,如下所示:
def word_随附(已发送,信函):
x=[sent.split()中的逐字逐句,如果word.lower()中有字母]
返回x
您的操作不起作用,因为您在检查之前将单词改为小写。在检查是否在单词中时执行此操作,如下所示:
def word_随附(已发送,信函):
x=[sent.split()中的逐字逐句,如果word.lower()中有字母]
返回x
他不想把每场比赛都资本化。。。他只想要原始单词在原始未修改输入中的表示形式。他不希望每个匹配都大写。。。他只想要原始单词在原始未修改输入中的表示形式。谢谢。我还没有使用正则表达式的经验。我把“进口re”放在第一行,你的建议很有效。谢谢。我还没有使用正则表达式的经验。我把“进口re”放在第一行,你的建议很有效。谢谢。我减去了行“print(word_string)”,它给出了我想要的输出。谢谢。我减去了行“print(word_string)”,它给出了我想要的输出。