python - 字符串列表的索引数组

标签 python

我有一个字符串“列表”,我需要获取列表中等于模式的所有元素的索引数组。

我不需要使用Python列表,我可以使用另一个数据结构,但我不知道是哪个。

示例:

my_list = ['foo', 'bar', 'hello', 'foo', 'goodbye']
pattern = 'foo'

我想要的结果是这样的:

my_mask = [True, False, False, True, False]

所以我可以用这个掩码索引一个 numpy 数组:

selected_items = my_array[my_mask]

但是,列出 list 并执行以下操作:

my_list == pattern

不返回掩码,仅返回 False。

最佳答案

这是一个 numpy 解决方案:

import numpy as np

my_list = np.array(['foo', 'bar', 'hello', 'foo', 'goodbye'])
pattern = 'foo'

mask = my_list == pattern
# array([ True, False, False,  True, False], dtype=bool)

my_list[mask]
# array(['foo', 'foo'], 
#       dtype='<U7')

关于python - 字符串列表的索引数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49026751/

相关文章:

python - 使用python查找子矩阵中不同元素数量的最佳方法

python - 如何向 wordpress 博客发表评论?

python - 如何合并列和重复行值以在 pandas 中匹配

python Mechanize 雅虎邮件

python - 如何使syncdb显示完整的堆栈跟踪

python - 为什么按 Ctrl-反斜杠会导致核心转储?

python - 在两个类之间传递参数

python - opencv的findContours中,cv.RETR_FLOODFILL是做什么的?

python - 创建具有任意开始日期的每月时间序列

python - 想要 aws Dynamodb 中的计数器