Python 对列表和列表进行排序
我有这样一份清单:Python 对列表和列表进行排序,python,list,Python,List,我有这样一份清单: mat=[[1,2,3],“我的美好列表”,[1,2,3],“我是字符串”,[4,5,6] 我想删除重复的嵌套列表,如示例[1,2,3] 所以我可以有[[1,2,3],“我的好名单”,“我是字符串”,[4,5,6] 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.app
mat=[[1,2,3],“我的美好列表”,[1,2,3],“我是字符串”,[4,5,6]
我想删除重复的嵌套列表,如示例[1,2,3]
所以我可以有[[1,2,3],“我的好名单”,“我是字符串”,[4,5,6]
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]]
您也可以将其作为列表理解,但由于列表不可散列,因此它变得有点困难,因此您必须将它们转换为元组并返回列表,但您必须注意执行此操作的字符串:
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)]
您可以尝试使用此选项从列表中删除重复项
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)
到目前为止您尝试了什么?标题有误导性。如果我理解正确,您希望删除重复项,而不是排序alist@jojo这是行不通的,我们不能hashable@DanielMesejo很好的观点!:PIt是完全相同的答案,正如@Duarte Castanho在刷新页面前10分钟给出的答案,非常抱歉