主要就是用了xlrd
,代码如下,简单易懂就不注释了哈:
pythonimport 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函数遍历:
pythondef 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
即可,发挥一个二元组(重复的值,重复次数)
pythonrom 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}) #展现重复元素和重复次数
本文作者:mereith
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!