我有一个这样的列表:
mat = [[1,2,3],"my_nice_list",[1,2,3],"i_am_a_string",[4,5,6]]
我想删除重复的嵌套列表,如示例[1,2,3]
所以我可以有[[1,2,3],"my_nice_list","i_am_a_string",[4,5,6]
答案 0 :(得分:3)
mat = [[1,2,3],"my_nice_list",[1,2,3],"i_am_a_string",[4,5,6]]
result = []
for i in mat:
if i not in result:
result.append(i)
print(result)
输出:
[[1, 2, 3], 'my_nice_list', 'i_am_a_string', [4, 5, 6]]
答案 1 :(得分:1)
您也可以通过列表理解来做到这一点,但是由于列表不可散列,因此这变得有些困难,因此您必须将它们转换为元组并返回列表,但是您必须照看这样做的字符串: / p>
result = [list(y) if not isinstance(y, str) else y for y in set(tuple(x) if not isinstance(x, str) else x for x in mat)]
答案 2 :(得分:-3)
您可以尝试使用此方法从列表中删除重复项,
mat = [[1,2,3],"my_nice_list",[1,2,3],"i_am_a_string",[4,5,6]]
list1 = []
for i in mat:
if i not in list1:
list1.append(i)
print(list1)