gpt4 book ai didi

python - NumPy 的 : Get the element of array which contains True on comparions

转载 作者:行者123 更新时间:2023-11-28 21:43:35 25 4
gpt4 key购买 nike

import numpy as np  
import re

list1= ['651ac1', '21581', '13737|14047', '22262', '12281', '12226', '61415', '61495']
regexp = '[a-zA-Z]'
selection = np.array([bool(re.search(regexp, element)) for element in list1])
if True in selection:
#get_element_containing_true

选择 如下所示:

selection
array([ True, False, False, False, False, False, False, False, False], dtype=bool)

我想获取包含 True 的数组元素。我如何获得这个?

最佳答案

你真的需要 numpy 吗(如果不需要,请参阅 @Divakar's answer)?如果这样做,您可以将 list1 转换为 np.array 和索引:

np.array(list1)[selection]

这叫做 boolean array indexing .以防万一您感兴趣。


只是一个性能提示:如果你多次使用一个正则表达式:编译它并重用编译过的那个:

regexp = re.compile('[a-zA-Z]')
selection = np.array([bool(regexp.search(element)) for element in list1])

这可能会更快并且更容易与其他答案结合。

关于python - NumPy 的 : Get the element of array which contains True on comparions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41980059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com