Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python数组中查找多个字符_Python_Arrays - Fatal编程技术网

在python数组中查找多个字符

在python数组中查找多个字符,python,arrays,Python,Arrays,我有一个像这样的简单数组 x=[0,0,0,1,1,1,2] 我想知道,数字1在什么索引中。 到目前为止,当我这样做时: a = ["a", "b", "b", "d", "e"] print(a.index("b")) 根据上面的代码,结果是1,是否有一种方法可以得到1在索引1和2中的结果,正如@WaveShapper建议的那样 x=[0,0,0,1,1,1,2] a=

我有一个像这样的简单数组

x=[0,0,0,1,1,1,2]
我想知道,数字
1
在什么索引中。 到目前为止,当我这样做时:

a = ["a", "b", "b", "d", "e"]
print(a.index("b"))


根据上面的代码,结果是
1
,是否有一种方法可以得到
1
在索引
1
2
中的结果,正如@WaveShapper建议的那样

x=[0,0,0,1,1,1,2]
a=x;
print([i for i,val in enumerate(a) if val==1])
输出:

[3, 4, 5]

它返回数据所在的索引值列表,在这种情况下,数据为
1

,如注释中所述,随机数据使用的线性方法和:

但是,如果对数据进行排序(如给定示例中所示),则可以使用查找索引范围的左边界和右边界:

from bisect import bisect, bisect_left

b_indeces = list(range(bisect_left(a, "b"), bisect(a, "b")))
# [1, 2]

您的
x
a
列表如何相互关联?不太清楚。
[i代表i,枚举(a)中的val,如果val=='b']
这是否回答了您的问题@对不起,
x
a
是两个不同的例子。因此,在
x
中,我想查找
1
的索引和
a
列表的索引,我想查找
b
@sushanth的索引,我只需查看您提供的链接,是的。。这个问题和我的情况有关,我也在那里找到了答案,非常感谢。。。
from bisect import bisect, bisect_left

b_indeces = list(range(bisect_left(a, "b"), bisect(a, "b")))
# [1, 2]