方法一:使用内置函数index()可直接查找到下标
1 context = input("请输入列表和整数:").strip() 2 int_list =[int(n) for n in (context.replace("[",'').replace("]",'').split(',')[:-1])] 3 target = int(context.split(',')[-1]) 4 5 if target in int_list: 6 flag = int_list.index(target) 7 else: 8 flag = -1 9 print(flag)
方法二:使用二分法
1 context = input("请输入列表和整数:").strip() 2 int_list =[int(n) for n in (context.replace("[",'').replace("]",'').split(',')[:-1])] 3 target = int(context.split(',')[-1]) 4 5 min = 0 6 max = len(int_list) - 1 7 8 if target in int_list: 9 while min < max: 10 minddle = (min + max) // 2 11 if target > int_list[minddle]: 12 min = minddle + 1 13 elif target < int_list[minddle]: 14 max = minddle - 1 15 else: 16 while target == int_list[minddle]: 17 minddle -= 1 18 flag = minddle + 1 19 break 20 else: 21 flag = -1 22 print(flag)