主要就是用了xlrd,代码如下,简单易懂就不注释了哈:
import xlrd import time from collections import Counter t1 = time.time() data = xlrd.open_workbook(r'C:\Users\pve_win10_1\Desktop\suanfa\text.xlsx') table = data.sheet_by_index(1) list1 = [] for i in range(table.nrows): list1.append(table.cell(i,0).value) b = Counter(list1) for key,value in b.items(): if value > 1: print('{}重复在:'.format(key),[i for i in range(len(list1)) if list1[i] == key]) t2 = time.time() print('用时:',t2-t1,'s')
默认列表的index方法只能获取第一个索引,如果我们想获取所有索引可以借助range函数遍历:
def get_index3(lst=None, item=''): return [i for i in range(len(lst)) if lst[i] == item] lst = ['A', 1, 4, 2, 'A', 3] get_index1(lst, 'A') [0, 4]
直接使用collections的Counter即可,发挥一个二元组(重复的值,重复次数)
rom collections import Counter #引入Counter a = [29,36,57,12,79,43,23,56,28,11,14,15,16,37,24,35,17,24,33,15,39,46,52,13] b = Counter(a) print ([key for key,value in b.items()if value > 1]) #只展示重复元素 print ({key:value for key,value in b.items()if value > 1}) #展现重复元素和重复次数
主要就是用了xlrd,代码如下,简单易懂就不注释了哈:
import xlrd import time from collections import Counter t1 = time.time() data = xlrd.open_workbook(r'C:\Users\pve_win10_1\Desktop\suanfa\text.xlsx') table = data.sheet_by_index(1) list1 = [] for i in range(table.nrows): list1.append(table.cell(i,0).value) b = Counter(list1) for key,value in b.items(): if value > 1: print('{}重复在:'.format(key),[i for i in range(len(list1)) if list1[i] == key]) t2 = time.time() print('用时:',t2-t1,'s')
默认列表的index方法只能获取第一个索引,如果我们想获取所有索引可以借助range函数遍历:
def get_index3(lst=None, item=''): return [i for i in range(len(lst)) if lst[i] == item] lst = ['A', 1, 4, 2, 'A', 3] get_index1(lst, 'A') [0, 4]
直接使用collections的Counter即可,发挥一个二元组(重复的值,重复次数)
rom collections import Counter #引入Counter a = [29,36,57,12,79,43,23,56,28,11,14,15,16,37,24,35,17,24,33,15,39,46,52,13] b = Counter(a) print ([key for key,value in b.items()if value > 1]) #只展示重复元素 print ({key:value for key,value in b.items()if value > 1}) #展现重复元素和重复次数