筛选出文件名中含有任何一个站点名的文件,站点名是numpy数组
时间: 2024-03-26 18:41:48 浏览: 44
对numpy中的数组条件筛选功能详解
假设你有一个包含站点名的 numpy 数组 `site_names`,以及一个包含文件名的字符串数组 `file_names`。你可以使用 numpy 的 vectorize() 函数和 Python 的 any() 函数来实现筛选:
```
import numpy as np
# 假设你有一个包含站点名的 numpy 数组 site_names
site_names = np.array(['site1', 'site2', 'site3'])
# 假设你有一个包含文件名的字符串数组 file_names
file_names = np.array(['file1_site1.txt', 'file2_site2.doc', 'file3_site4.pdf', 'file4_site3.txt'])
# 定义一个函数,用于检查文件名是否包含站点名
def has_site_name(file_name):
return any(site_name in file_name for site_name in site_names)
# 使用 numpy.vectorize() 将函数向量化,然后应用于 file_names 数组
result = np.vectorize(has_site_name)(file_names)
# 输出包含站点名的文件名
print(file_names[result])
```
输出结果为:
```
['file1_site1.txt' 'file2_site2.doc' 'file4_site3.txt']
```
这样,你就可以筛选出包含任何一个站点名的文件名了。
阅读全文