Python 程序删除字符串中长度为 K 的单词
在本文中,我们将学习一个 Python 程序来删除字符串中长度为 K 的单词。
使用的方法
以下是完成此任务的各种方法 -
使用 split()、join()、len() 和列表推导式
使用 filter()、lambda()、split() 和 len() 函数
使用 split()、join()、remove() 和 len() 函数
示例
假设我们获取了一个 输入字符串 和 k 长度。现在我们将使用上述方法从输入字符串中删除所有给定的 k 长度单词。
输入
inputString = "hello tutorialspoint python codes" k_length = 5
输出
删除 5 个长度单词后的结果字符串: tutorialspoint python
在此示例中,给定的 k 长度为 5,因此从输入字符串中删除所有长度为 5 的单词(例如 hello, codes),并打印结果字符串。
方法 1:使用 split()、join()、len() 和列表推导式
列表推导式
当您希望根据现有列表的值构建新列表时,列表推导式提供了更短/简洁的语法。
join() − join() 是 Python 中的字符串函数,用于连接由字符串分隔符分隔的序列元素。此函数连接序列元素以转换为字符串。
算法(步骤)
以下是执行所需任务需要遵循的算法/步骤 –。
创建一个变量来存储输入字符串并打印给定的字符串。
创建另一个变量来存储k长度。
使用 split() 函数(将字符串拆分为列表。我们可以定义分隔符;默认分隔符是任何空格)将输入字符串拆分为单词列表
遍历单词列表并检查当前元素的长度是否不等于输入的 k 长度并将其存储在列表中。
使用 join() 函数将列表转换为字符串。
从输入字符串中删除所有给定的 k 长度单词后打印结果字符串。
示例
以下程序在使用 split()、join()、len() 函数和列表推导从输入字符串中删除所有输入的 k 长度单词后返回一个字符串 -
# 输入字符串 inputString = "hello tutorialspoint python codes" # 打印输入字符串 print("输入字符串:", inputString) # 输入 k 长度值 k_length = 5 # 将输入字符串拆分为单词列表 wordsList = inputString.split() # 遍历单词列表并检查长度 # 当前字符串不等于输入 k 长度并将其存储在列表中 resultList = [element for element in wordsList if len(element) != k_length] # 将上述列表连接到字符串以将其转换为字符串 resultString = ' '.join(resultList) # 打印删除 k 个长度的单词后的结果字符串 print("删除 5 个长度的单词后的结果字符串:\n", resultString)
输出
执行时,上述程序将生成以下输出 –
输入字符串:hello tutorialspoint python codes 删除 5 个长度单词后的结果字符串: tutorialspoint python
方法 2:使用 filter()、lambda()、split() 和 len() 函数
filter() 函数 - 使用确定序列中每个元素为真还是假的函数过滤指定序列。
Lambda 函数
Lambda 函数,通常称为"匿名函数",与普通 Python 函数相同,只是它可以不带名称定义。 def 关键字用于定义普通函数,而 lambda 关键字用于定义匿名函数。但是,它们仅限于一行表达式。它们与常规函数一样,可以接受多个参数。
语法
lambda 参数:表达式
示例
以下程序在使用 filter()、lambda()、split() 和 len() 函数从输入字符串中删除所有输入的 k 长度单词后返回一个字符串 -
# 输入字符串 inputString = "hello tutorialspoint python codes" # 打印输入字符串 print("输入字符串:", inputString) # 输入 k 长度值 k_length = 5 # 将输入字符串拆分为单词列表 wordsList = inputString.split() # 遍历给定的单词列表并过滤列表元素 # 如果元素的长度不等于 k,则使用 lambda 函数。 resultList = filter(lambda element: len(element) != k_length, wordsList) # 将过滤器对象转换为列表 resultList = list(resultList) # 将上述列表与字符串连接起来,将其转换为字符串 resultString = ' '.join(resultList) # 打印删除 k 个长度的单词后的结果字符串 print("删除 5 个长度的单词后的结果字符串:\n", resultString)
输出
执行时,上述程序将生成以下输出 –
输入字符串:hello tutorialspoint python codes 删除 5 个长度的单词后的结果字符串: tutorialspoint python
方法 3:使用 split()、join()、remove() 和 len() 函数
split() − 将字符串拆分为列表。我们可以定义分隔符;默认分隔符是任意空格。
remove() 方法 − 删除具有给定值的元素的第一次出现。
语法
list.remove(obj)
示例
以下程序在使用 split()、join()、remove() 和 len() 函数从输入字符串中删除所有输入的 k 长度单词后返回一个字符串 –
# 输入字符串 inputString = "hello tutorialspoint python codes" # 打印输入字符串 print("输入字符串: ", inputString) # 输入 k 长度值 k_length = 5 # 将输入字符串拆分为单词列表 wordsList = inputString.split() # 复制单词列表并在该列表中移动 for element in wordsList.copy(): # 检查当前长度是否等于输入 k 长度 if len(element) == k_length: # 如果条件为真,则删除该元素 wordsList.remove(element) # 将单词列表连接到字符串以转换为字符串 resultString = ' '.join(wordsList) #打印删除 k 个长度的单词后的结果字符串 print("删除 5 个长度的单词后的结果字符串:\n", resultString)
输出
执行时,上述程序将生成以下输出 –
输入字符串:hello tutorialspoint python codes 删除 5 个长度的单词后的结果字符串: tutorialspoint python
结论
在本文中,我们学习了如何使用三种不同的方法从给定的单词列表中删除 k 个长度的术语。使用 lambda 和 filter 函数,我们还学习了如何根据指定条件过滤列表的元素。