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