在列表中查找项目,当找到时,在它之前的同一项目内。 (python)

Look for item inside list, when found, inside same item before it. (python)

在列表中我正在寻找项目“-”,当我们找到它时,我想在它之前插入“-”。 应该很容易,但我很挣扎 :S

使用list.insertlist.index方法。 index 为您提供您要查找的项目的索引,insert 言出必行:

l = ['a', 1, '-', 2] # random list
l.insert(l.index('-'), '-')
print(l)

回应你的评论:如果你有不止一次的出现,它的工作方式就不太优雅了:

l = ["a", 1, "-", 2, "-", 2, 5, "-"]
# get indices of '-'
idxs = [i for i, c in enumerate(l) if c == "-"]
# loop over indices and insert, account for already added items
for i, idx in enumerate(idxs):
    l.insert(idx + i, "-")