我有这个函数,它有 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/