关于python中的dict.fromkeys函数的疑问

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

在做题目的时候把自己的代码和别人ac的代码比较,发现别人在最后输出的前面加了一句ans=list(dict.fromkeys(ans))
这一句到底有什么作用呀?

问题相关代码,请勿粘贴截图
x,y,z=map(int,input().split('/'))
ans=[]
mon=[0,31,28,31,30,31,30,31,31,30,31,30,31]
def run(x):
    if x%4==0 and x%100:return True
    if x%100==0 and x%400==0:return True
    return False
def check(x,y,z):
    if x<60:xx=2000+x
    else:xx=1900+x
    if run(xx):
        mon[2]+=1
        if z<=mon[y]:ans.append((xx,y,z))
        mon[2]-=1
    else:
        if z<=mon[y]:ans.append((xx,y,z))
#nyr
if  0<y<=12 and 0<z<=31:check(x,y,z)
#yrn
if 0<x<=12 and 0<y<=31:check(z,x,y)
#ryn
if 0<y<=12 and 0<x<=31:check(z,y,x)
ans.sort()
ans=list(dict.fromkeys(ans))                        //就是这里,这一句有什么作用??
for x in ans:
    print("{:04}-{:02}-{:02}".format(x[0],x[1],x[2]))
print(ans)
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

ans=list(dict.fromkeys(ans))是用来去除ans里重复的元素,因为字典的键值不能重复

>>>list(dict.fromkeys(['key1', 'key2', 'key1']))
['key1', 'key2']