python - 访问列表中的重复元素并打印其旁边的元素

标签 python list find-occurrences

我有这个函数,它有 3 个参数。 1) 包含字符串的列表,2) search_term 和 3) place(可选参数)。

代码:

def ls_src(list,search_term,place=1):
    if search_term in list:
        a = list[list.index(search_term)+1]+':' + '\tThe second element of of search term is ' + (search_term[place])
        return a

现在我想访问 search_term 旁边的元素,但是如果该元素在列表中重复出现,它还应该考虑该元素的其他出现,而不仅仅是该元素的第一次出现。

如果 list_search(['a','b','c','a','e'],'a') 那么,该函数应该同时返回 'b' 和 'e',因为它们是 'a' 旁边的元素。

所以我的问题是,我们如何访问 'a' 的其他出现,而不仅仅是第一次出现。

最佳答案

您需要使用enumerate 函数来帮助获取元素及其索引。

def list_search(l, s):
    for i,j in enumerate(l):
        if j == s:
            print(l[i+1])

list_search(['a','b','c','a','e'],'a')  

输出:

b
e

搜索元素可能也出现在最后,所以将打印语句放在 try except block 中。

def list_search(l, s):
    for i,j in enumerate(l):
        if j == s:
            try:
                print(l[i+1])
            except IndexError:
                pass    

list_search(['a','b','c','a','e', 'a'],'a') 

关于python - 访问列表中的重复元素并打印其旁边的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31468597/

相关文章:

python - 如何更改python列表中的索引值

java - 当 Arraylist 大小为 139 时,索引 6 上出现 IndexOutOfBoundsException

java - 计算字符串中的出现次数并删除重复项

python - 如何在查询字符串中创建关联数组

python - 使用 Matplotlib 和 Pandas 时重命名 X 轴标签

字符串格式化代码中的 Python TypeError

python - 从列表创建字典

r - 如何更优雅地操作不同列表中的data.frame对象?

java - 查找字符串中多次出现的单词并存储各自的起始索引

ios - 如何计算具有不同条件的 Swift 对象数组中某个元素的出现次数