Python展平去重嵌套整数列表函数第5行语法错误如何解决
报错原因
第5行抛出语法错误的核心原因是混淆了循环语句和条件判断语句的语法规则:
for是循环关键字,后面必须遵循变量 in 可迭代对象的固定结构,无法直接接not in的判断表达式- 此处的业务逻辑是当元素x不在结果列表中时才执行追加操作,属于条件分支判断场景,应该使用
if关键字而非for
修复方法
直接将第5行错误的for x not in result:修改为if x not in result:即可,原有遍历嵌套列表的逻辑不需要额外调整。
修复后的完整可运行代码:
def f2(list_of_list): result = [] for inner_list in list_of_list: for x in inner_list: if x not in result: result.append(x) return result
运行验证
传入题目给出的测试用例执行:
leist = [[0,1,2,2,3],[3,4]] print(f2(leist))
执行后输出结果为[0, 1, 2, 3, 4],和预期输出完全一致。
内容的提问来源于stack exchange,提问作者JuliusFx
相关产品推荐
相关产品推荐

