如何提取句子中每第n个单词的第一个字母?
How to extract first letter of every nth word in a sentence?
我试图提取每 5 个单词的第一个字母,经过一些研究后,我能够弄清楚如何获取每 5 个单词。但是,我怎么知道提取每 5 个单词的第一个字母并将它们放在一起组成一个单词。这是我目前的进度:
def extract(text):
for word in text.split()[::5]:
print(word)
extract("I like to jump on trees when I am bored")
正如评论所指出的那样,拆分它然后只访问第一个字符:
def extract(text):
for word in text.split(" "):
print(word[0])
text.split(" ")
return 是一个数组,我们正在遍历该数组。 word
是该数组中的当前条目 (string
)。现在,在 python 中,您可以使用典型的数组表示法访问字符串的第一个字符。因此,word[0]
return 是该词的第一个字符,word[-1]
将 return 是该词的最后一个字符。
不知道你是怎么解决第一部分的,第二部分解决不了,
但无论如何,python 中的字符串只是一个字符列表,所以如果你想访问第一个字符,你会得到第 0 个索引。因此将其应用于您的示例,正如评论中提到的那样,您键入 (word[0]),
所以你可以打印单词[0]或者收集列表中的第一个字符来做任何进一步的操作(我相信你想要做的,而不仅仅是打印它们!)
def extract(text):
mychars=[]
for word in text.split()[::5]:
mychars.append(word[0])
print(mychars)
extract("I like to jump on trees when I am bored")
以下代码可能会对您有所帮助。只是根据您所说的示例想法。
#
# str Text : A string of words, such as a sentence.
# int split : Split the string every nth word
# int maxLen : Max number of chars extracted from beginning of each word
#
def extract(text,split,maxLen):
newWord = ""
# Every nth word
for word in text.split()[::split]:
if len(word) < maxLen:
newWord += word[0:] #Entire word (if maxLength is small)
else:
newWord += word[:maxLen] #Beginning of word until nth letter
return (None if newWord=="" else newWord)
text = "The quick brown fox jumps over the lazy dog."
result = extract(text, split=5, maxLen=2) #Use split=5, maxLen=1 to do what you said specifically
if (result):
print (result) #Expected output: "Thov"
我试图提取每 5 个单词的第一个字母,经过一些研究后,我能够弄清楚如何获取每 5 个单词。但是,我怎么知道提取每 5 个单词的第一个字母并将它们放在一起组成一个单词。这是我目前的进度:
def extract(text):
for word in text.split()[::5]:
print(word)
extract("I like to jump on trees when I am bored")
正如评论所指出的那样,拆分它然后只访问第一个字符:
def extract(text):
for word in text.split(" "):
print(word[0])
text.split(" ")
return 是一个数组,我们正在遍历该数组。 word
是该数组中的当前条目 (string
)。现在,在 python 中,您可以使用典型的数组表示法访问字符串的第一个字符。因此,word[0]
return 是该词的第一个字符,word[-1]
将 return 是该词的最后一个字符。
不知道你是怎么解决第一部分的,第二部分解决不了,
但无论如何,python 中的字符串只是一个字符列表,所以如果你想访问第一个字符,你会得到第 0 个索引。因此将其应用于您的示例,正如评论中提到的那样,您键入 (word[0]),
所以你可以打印单词[0]或者收集列表中的第一个字符来做任何进一步的操作(我相信你想要做的,而不仅仅是打印它们!)
def extract(text):
mychars=[]
for word in text.split()[::5]:
mychars.append(word[0])
print(mychars)
extract("I like to jump on trees when I am bored")
以下代码可能会对您有所帮助。只是根据您所说的示例想法。
#
# str Text : A string of words, such as a sentence.
# int split : Split the string every nth word
# int maxLen : Max number of chars extracted from beginning of each word
#
def extract(text,split,maxLen):
newWord = ""
# Every nth word
for word in text.split()[::split]:
if len(word) < maxLen:
newWord += word[0:] #Entire word (if maxLength is small)
else:
newWord += word[:maxLen] #Beginning of word until nth letter
return (None if newWord=="" else newWord)
text = "The quick brown fox jumps over the lazy dog."
result = extract(text, split=5, maxLen=2) #Use split=5, maxLen=1 to do what you said specifically
if (result):
print (result) #Expected output: "Thov"