python运算符\内置函数问题

问题遇到的现象和发生背景

函数main()接收一个包含若干整数列表lst,要求返回一个新列表,新列表包含原列表lst中的唯一元素(重复的元素只保留一个),并且所有的元素保持在原列表中首次出现的相对顺序

问题相关代码,请勿粘贴截图
def main(lst):
    temp=[]
    for i in lst:
        if not i in temp:
            temp.append(i)
    return temp

运行结果及报错内容

不能使用循环结构和任何形式的推导式

我想要达到的结果

调用函数main([1,2,3,1,4]),会输出[1,2,3,4]

def main(lst):
    temp=list(set(lst))
    return sorted(temp,key=lambda x:lst.index(x))