Python 程序删除字符串中长度为 K 的单词

pythonserver side programmingprogramming

在本文中,我们将学习一个 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 函数,我们还学习了如何根据指定条件过滤列表的元素。


相关文章