我正在做一个简单的任务,它需要按表达式结果对列表进行排序并运行以下代码:
def sort_by_answer(lst):
ans = []
dict = {}
for i in lst:
if 'x' in i:
i = i.replace('x', '*')
dict.update({i: eval(i)})
dict = {k: v for k, v in sorted(dict.items(), key=lambda item: item[1])}
res = list(dict.keys())
for i in res:
if '*' in i:
i = i.replace('*', 'x')
ans.append(i)
else:
ans.append(i)
return ans
它签出,但我正在做这个测试的网站(这里有一个链接到任务(https://edabit.com/challenge/9zf6scCreprSaQAPq)告诉我,我的列表没有正确排序,这是,有人可以帮我改进这个代码或smth,所以它在每种情况下都有效吗?
附言
if 'x' in i:
i = i.replace('x', '*')
这样做是为了让我可以使用eval函数,但站点输入在其列表中有“x”而不是“*”。
ABOUTYOU
小怪兽爱吃肉
相关分类