大家好,我的部分代码遇到了一些小问题
例如,如果
target_list = []
lst = [1, 2, 3, 4, 4, 5, 4]
target = 4
if target in lst:
target_list.append(lst.index(target))
return target_list
我希望它返回:
[3, 4, 6]
我认为问题与 .index(target) 仅采用列表的第一个目标有关。谢谢
最佳答案
您可以使用enumerate
来跟踪索引,并使用列表理解和if
来过滤和提取与特定值相对应的索引:
[i for i, v in enumerate(lst) if v == 4]
# [3, 4, 6]
使用普通循环,您需要初始化索引列表,并在值为 target 时将索引附加到该列表:
index = []
for i in range(len(lst)):
if lst[i] == 4:
index.append(i)
index
# [3, 4, 6]
关于python - 查找列表中的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42686733/