Python——获取列表中指定元素(多个)的索引

                                   Python——获取列表中指定元素(多个)的索引

 

目标:获取列表中出现为word的所有索引,并作为列表输出。

解决方案:循环遍历+判断(简单)

写作目的:改写为函数形式,便于以后直接调用。

def get_same_element_index(ob_list, word):
    return [i for (i, v) in enumerate(ob_list) if v == word]


if __name__ == "__main__":
    ob_list = [1,3,4,2,1,2,2]
    word = 2
    print("{0} 在列表 {1} 中的索引: {2}".format(word, ob_list, get_same_element_index(ob_list, word)))

输出:

2 在列表 [1, 3, 4, 2, 1, 2, 2] 中的索引: [3, 5, 6]

 

变式:如果是求字符串中相同子串/字符的位置呢?

def get_same_element_index(ob_string, char):
    import re
    return [idx.start() for idx in re.finditer(char, ob_string)]


if __name__ == "__main__":
    ob_string = "nssnfeefnssefwessj"
    char = "ss"
    print("{0} 在字符串 {1} 中的索引: {2}".format(char, ob_string, get_same_element_index(ob_string, char)))

输出:

ss 在字符串 nssnfeefnssefwessj 中的索引: [1, 9, 15]

 

你可能感兴趣的:(python编程,python自学,基础常识,机器学习)