# 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.index) print(list1) print(list2)
运行结果:

def non_repeat_sort(list1): list2 = sorted(list(set(list1)), key=lambda e: list1.index(e), reverse=False) return list2 def join_list_non_repeat_sort(list1, list2): list3 = list1 + list2 list4 = non_repeat_sort(list3) return list4 if __name__ == '__main__': list1 = ['a', 'b', 'c', 'a', 'c', 'c'] list2 = ['c', 'a', 'e', 'f', 'e', 'e'] print('list1: %s ' % list1) print('list2: %s ' % list2) list11 = non_repeat_sort(list1) list22 = non_repeat_sort(list2) print('list11: %s ' % list11) print('list22: %s ' % list22) result_list = join_list_non_repeat_sort(list1, list2) # result_list = join_list_non_repeat_sort(list11, list22) print('result_list: %s ' % result_list)
输出结果: