所以说我有以下列表:
a = [1,2,3]
b = [5,2,3]
c = [5,4,2]
我想附加每个列表中的唯一项目,因为它们被循环到一个新数组中以结束:
unique_list = [1,2,3,5,4]
我仍然不完全理解更高级案例的列表理解,但是我认为以下明显不正确的代码会传达我的意图:
def append_unique(new_list):
unique_list.append(item) for item in new_list if item not in unique_list
unique_list = []
append_unique([1,2,3])
append_unique([5,2,3])
append_unique([5,4,2])
这甚至可以通过单线实现,还是我应该承认并寻求嵌套解决方案?
更新
抱歉,我认为我没有很好地传达这一点,我需要将每个附加列表的唯一项目添加为循环的一部分,因此为什么每个项目都需要单独通过append_unique()
我尝试修改append_unique()
以set()
按照以下方式使用:
def append_unique(new_list):
unique_list = list(set(unique_list + new_list))
unique_list = []
append_unique([1,2,3])
append_unique([5,2,3])
append_unique([5,4,2])
这里的问题当然是我得到了错误,我不完全理解如何解决:
local variable 'unique_list' referenced before assignment