在 Python 中获取字符串中的前 N 个单词

在 Python 中获取字符串中的前 N ​​个单词

Get the first N words of a String in Python

要获取字符串中的前 N ​​个单词:

  1. 使用str.split()方法将字符串拆分为单词列表。
  2. 使用列表切片获取字符串的前 N ​​个单词。
  3. 使用该str.join()方法将列表连接成一个字符串。
主程序
# ✅ get list containing first N words def first_n_words(string, n): return string.split()[:n] # 👇️ ['bobby', 'hadz'] print(first_n_words('bobby hadz . com', 2)) # ----------------------------------------------- # ✅ get string containing first N words def first_n_words(string, n): return ' '.join(string.split()[:n]) # 👇️ "bobby hadz" print(first_n_words('bobby hadz . com', 2))

第一个函数返回一个列表,其中包含字符串的前 N ​​个单词。

我们使用该str.split()方法将字符串拆分为单词列表。

主程序
# 👇️ ['bobby', 'hadz', '.', 'com'] print('bobby hadz . com'.split())

str.split ()
方法使用定界符将字符串拆分为子字符串列表。

当没有分隔符传递给该str.split()方法时,它会将输入字符串拆分为一个或多个空白字符。

下一步是使用列表切片来获取字符串的前 N ​​个单词。

主程序
# 👇️ ['bobby', 'hadz'] print('bobby hadz . com'.split()[:2]) # 👇️ ['bobby', 'hadz', '.'] print('bobby hadz . com'.split()[:3])

列表切片的语法是my_list[start:stop:step].

start索引是包含的,索引stop是排他的(最多,但不包括)。

Python 索引是从零开始的,因此列表中的第一项的索引为0,最后一项的索引为-1len(my_list) - 1

切片my_list[:2]从 index 开始,0一直到 index ,但不包括 index 2换句话说,它返回列表中的前两项。

如果您需要将前 N 个单词连接成一个字符串,请使用该str.join()
方法。

主程序
def first_n_words(string, n): return ' '.join(string.split()[:n]) # 👇️ bobby hadz print(first_n_words('bobby hadz . com', 2)) # 👇️ bobby hadz . com print(first_n_words('bobby hadz . com', 4))

str.join方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。

调用该方法的字符串用作元素之间的分隔符。

我们在包含空格的字符串上调用该str.join()方法,以将列表连接成带有空格分隔符的字符串。

发表评论