python 怎样在一个列表中模糊查找指定关键字
时间: 2023-05-21 13:05:56 浏览: 66
可以使用列表推导式结合 in 运算符进行模糊查找,如下所示:
```
keywords = ['apple', 'banana', 'orange', 'pear', 'grape']
query = 'an'
results = [word for word in keywords if query in word]
print(results)
# Output: ['banana', 'orange']
```
在上述代码中,我们定义了一个关键字列表 keywords 和一个查询字符串 query,然后使用列表推导式和 in 运算符对列表进行模糊查找,并将结果存储在 results 变量中。最后,我们将结果打印出来,得到了包含查询关键字的所有列表元素。
相关问题
产生一个在文件中查找关键字个数的Python脚本
以下是一个在文件中查找关键字个数的Python脚本:
```python
import argparse
parser = argparse.ArgumentParser(description='Count the number of occurrences of a keyword in a file.')
parser.add_argument('file', type=str, help='the file to search')
parser.add_argument('keyword', type=str, help='the keyword to search for')
args = parser.parse_args()
count = 0
with open(args.file, 'r') as f:
for line in f:
count += line.count(args.keyword)
print(f'The keyword "{args.keyword}" appears {count} times in the file "{args.file}".')
```
这个脚本使用了Python标准库中的argparse模块来解析命令行参数。它接受两个必须的参数:要搜索的文件和要查找的关键字。脚本打开文件并逐行读取它,使用count方法在每一行中查找关键字并累加计数器。最后,脚本输出关键字在文件中出现的次数。
python在文件中查找多个关键字
你可以使用Python的文件I/O和字符串操作功能来查找多个关键字。以下是一种可能的解决方案:
```python
def find_keywords(filename, keywords):
with open(filename, 'r') as f:
content = f.read()
for keyword in keywords:
if keyword in content:
print(f"Found '{keyword}' in file '{filename}'")
```
在上面的代码中,`filename`是要搜索的文件名,`keywords`是一个包含要搜索的关键字的列表。函数打开文件并将其内容读入变量`content`中。接下来,它遍历关键字列表并在`content`中查找每个关键字。如果找到关键字,则打印出该关键字和文件名。
你可以调用这个函数来查找一个或多个文件中的多个关键字。例如:
```python
keywords = ['python', 'file', 'search']
find_keywords('myfile.txt', keywords)
```
这将在`myfile.txt`文件中搜索`'python'`、`'file'`和`'search'`关键字,并打印出找到的关键字和文件名。