排序字符串列表

时间:2019-11-19 16:48:56

标签: python list

我有一个这样的列表: 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]

3 个答案:

答案 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)