# python 使用set对列表去重,并保持列表原来顺序 list1 = ['cc', 'bbbb', 'afa', 'sss', 'bbbb', 'cc', 'shafa'] for item in list1: print('word: %6s index: %2s' % (item, list1.index(item))) print('==========================') list2 = list(set(list1)) list2.sort(key=list1.i…
testlist = ['cc', 'bbbb', 'afa', 'sss', 'bbbb', 'cc', 'shafa'] set2list = list(set(testlist)) print set2list set2list.sort(key = testlist.index) print set2list 运行结果: ['cc', 'shafa', 'bbbb', 'afa', 'sss'] ['cc', 'bbbb', 'afa', 'sss', 'shafa']…
https://www.cnblogs.com/laowangball/p/8424432.html #原始方法,但是会打乱顺序 mylist = [1,2,2,2,2,3,3,3,4,4,4,4]myset = set(mylist) #myset是另外一个列表,里面的内容是mylist里面的无重复 项 # 收件人去重,并保持原来的收件人顺序mailto = ['cc', 'bbbb', 'afa', 'sss', 'bbbb', 'cc', 'shafa']addr_to = list(se…
参考:Equivalent of Numpy.argsort() in basic python? - Stack Overflow 通过 enumerate 实现 [i for i,v in sorted(enumerate(['Vincent', 'Alex', 'Bill', 'Matthew']), key=lambda x:x[1])] output: [1, 2, 3, 0]…
mailto = ['cc', 'bbbb', 'afa', 'sss', 'bbbb', 'cc', 'shafa'] addr_to = list(set(mailto)) addr_to.sort(key = mailto.index)…
一.一个列表中可能含有重复元素,使用set()可以实现列表的去重处理,但是无法知道哪些元素是重复的,下面的函数用于找出哪些元素重复了,以及重复的次数. 代码: from collections import Counter #引入Counter a = [1, 2, 3, 3, 4, 4] b = dict(Counter(a)) print(b) print ([key for key,value in b.items() if value > 1]) #只展示重复元素 print ({key…
raw_list = [ [ 'CS_SUPP_INFO', 'A', '1'], [ 'CS_SUPP_INFO', '1', 'A'], [ 'CS_SUPP_INFO', '1', 'A'], [ 'CS_SUPP_INFO', 'A', '1'], [ 'CS_SUPP_INFO', 'A', '2'], [ 'CS_SUPP_INFO', 'A', '2'], [ 'CS_SUPP_INFO', 'A', '3'] ] # 排序,只有排序后,下面用集合去重才能排除子列表中子元素顺序的影…
题目: 列表去掉重复元素,并保持原来的排序 方法一: # 待处理的列表 L1 = [111,44,55,33,22,11] # 利用集合set的属性,去重 s1 = set(L1) # 把集合转化为列表 L2 = list(s1) # 按照 L1中的index进行排序 L2.sort(key = L1.index) # 得到去重并且维持排序的列表 print(L2) 方法二: # 待处理的列表 L1 = [111,44,55,33,22,11] # 定义一个空列表 L2 = [] # 通过遍历L…
1. 列表去重 li = [] for item in my_list: if item not in li: li.append(item) 2.集合去重 list(set(my_list)) 3.字典去重 dict1 = dict.fromkeys(my_list, '') li = dict1.keys…