python list每个重复元素保留一次,python 列表(list)去除重复的元素总结 |
您所在的位置:网站首页 › 删除重复项只留一个 › python list每个重复元素保留一次,python 列表(list)去除重复的元素总结 |
方法一: 将list作为set的构造函数构造一个set,然后再将set转换会list就可以 >>> myList = [1, 2, 3, 3, 2, 2, 4, 5, 5] >>> myList [1, 2, 3, 3, 2, 2, 4, 5, 5] >>> myList = list(set(myList)) >>> myList [1, 2, 3, 4, 5] 方法二:使用列表推导,只保留元素个数等于1 例如: a = ['a', 'b', 'c', 'd', 'a', 'a'] b = [x for x in a if a.count(x) == 1] print b 不过还可以使用下面的方法,只是上面的方法更简单 b = [] for x in a: if a.count(x) == 1: b.append(x) print b 方法三:使用字典中的fromkeys方法 a = ['b','c','d','b','c','a','a'] b = {}.fromkeys(a).keys() print b 方法四:用list类的sort方法 a = ['b','c','d','b','c','a','a'] b = list(set(a)) b.sort(key=a.index) print b 不过,也可以这样写 a = ['b','c','d','b','c','a','a'] b = sorted(set(a),key=a.index) print b 方法五:使用用遍历 l1 = ['b','c','d','b','c','a','a'] l2 = [] for i in l1: if not i in l2: l2.append(i) print l2 上面的代码也可以这样写 l1 = ['b','c','d','b','c','a','a'] l2 = [] [l2.append(i) for i in l1 if not i in l2] print l2 这样就可以保证排序不变了: ['b', 'c', 'd', 'a'] 方法六:使用lambda方法 >>> lst = [1, 2, 4, 5, 5, 5, 4, 7] >>> print filter(lambda x: lst.count(x) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |