题目:给定一数组 例如:a = [1,2,3,5,2,1] 现用户提供一个数字 请返回用户所提供的数字的所有下标

 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 = { 数字:[下标,] }   的字典形式,因为一个数字对应的下标不止一个,所以下标采用列表格式。

生成字典后,就可以实现快速查询,快速地得到用户输入数字所对应的下标。

原文地址:https://www.cnblogs.com/xautxuqiang/p/6422292.html