python中,如何打印alist列表中出现次数第二多的元素的索引值
alist = [1,3,5,6,7,8,9,4,5,6,7,3,4,2,3,4,5,6,7,8,9,10,2,3,3,6]
# 统计列表中每个元素出现的次数
def get_elem_count(lst):
elems = {}
for key in lst:
if key in elems:
elems[key] = elems[key] + 1
else:
elems[key] = 1
return elems
# 对字典的value进行排序,从大到小
def elem_sorted(dct):
return sorted(dct.items(), key=lambda x: x[1], reverse=True)
if __name__ == "__main__":
elems = get_elem_count(alist)
print(elems)
elems_sort = elem_sorted(elems)
print(elems_sort)
# 获取第二多的元素
elem = elems_sort[1][0]
print(elem)
# 第二多的元素的索引值
idx = alist.index(elem)
print(idx)
新建一个字典,列表元素作为key,出现次数作为value,排序,得出第二个元素的key,查找key在列表的下标