如何在给定列表和值的情况下递归创建新的职位列表?

时间:2019-04-03 00:08:56

标签: python python-3.x

我需要创建一个接受两个参数(一个列表和一个值)的函数,并返回一个新列表,该列表是包含给定值的给定列表的索引位置。允许使用助手功能进行计数

我尝试使用index()函数添加到列表中,但是每次我递归遍历时,1的索引与原始给定列表中的索引不同。

def position(mylist, x):
    if x in mylist:
        return [mylist.index(x)] + position(mylist[1:], x)
    else: 
        return []

我需要position([1,2,3,4,1,1], 1)返回[0,4,5],但它返回[0,3,2,1,1,0,0]

1 个答案:

答案 0 :(得分:0)

一个返回值x的位置(如果有)的函数可以是:

def position(mylist, x):
    return [i for i, e in enumerate(mylist) if e == x]