从列表中提取关键字的Python程序

从列表中提取关键字的Python程序

在日常的开发工作中,我们经常需要从一个列表中选出特定的关键字,然后对这些关键字进行特定的操作。本篇文章介绍了一个基于Python语言的程序,用于从列表中提取关键字。

程序功能

此Python程序实现了以下功能:

  • 将输入的列表中的元素与给定的关键字列表进行对比
  • 选出包含给定关键字的元素
  • 返回筛选出的元素列表

示例代码

# 从列表中提取关键字
def extract_keyword(lst, keywords):
    result = []
    for item in lst:
        for keyword in keywords:
            if keyword in item:
                result.append(item)
                break
    return result

# 测试代码
lst = ['apple', 'banana', 'orange', 'watermelon', 'pineapple']
keywords = ['app', 'mel', 'ban']
print(extract_keyword(lst, keywords))

代码中的 extract_keyword 函数用于筛选列表中包含给定关键字的元素,函数接受两个参数:

  • lst 为输入列表
  • keywords 为给定关键字列表

函数返回筛选出的元素列表。

运行测试代码时,控制台输出为:

['apple', 'banana', 'watermelon']

结果为“apple”、“banana”和“watermelon”,这些元素包含了给定关键字 “app”、“ban” 和“mel”。

程序实现

本程序的思路非常简单,就是遍历输入列表中的每一个元素,依次与关键字列表进行比较,将包含关键字的元素加入结果列表。

实现过程中,我们需要逐个遍历数组元素并逐个比较关键字。填充结果数组时,我们可以使用 break 语句来跳出内层循环以提高效率。以下是程序的具体实现:

# 从列表中提取关键字
def extract_keyword(lst, keywords):
    result = []
    for item in lst:
        for keyword in keywords:
            if keyword in item:
                result.append(item)
                break
    return result

运行效率

朴素的实现方式要对所有元素进行一一比较,其时间复杂度为 O(mn),其中 m 为元素数量,n 为关键字数量。

为了提高效率,我们可以使用某些高级算法。例如,可以将每个元素都转化为哈希表后再进行比较,这种方法的时间复杂度为 O(m+n),其中 m 始终为元素数量,n 等于关键字数量。

但就本方案而言,受算法效率的限制,程序适用于长度较小、关键字数量较少的列表。

结论

总体上,本Python程序提供了一种快速的方法从一个列表中筛选出包含特定关键字的元素。通过以上实现方法,我们可以有效的提高程序的运行效率并减少将时间浪费在手写、效率低下的程序上的可能性。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程