1 def test(ary): 2 ds = {} 3 for i in range(len(ary)): 4 if ds.get(ary[i]): 5 ds[ary[i]].append(i) 6 else: 7 ds[ary[i]] = [i] 8 return ds 9 10 if __name__ == '__main__': 11 ary = [1,2,3,5,2,5,4] 12 ds = test(ary) 13 num = int(input("which number you want?")) 14 print(ds[num])
其实字典方法和哈希方法是一样的,体现的就是一个映射关系。
将 数字和下标 的映射关系 变为 dict = { 数字:[下标,] } 的字典形式,因为一个数字对应的下标不止一个,所以下标采用列表格式。
生成字典后,就可以实现快速查询,快速地得到用户输入数字所对应的下标。