117.info
人生若只如初见

python二分查找算法的代码怎么写

以下是一个简单的二分查找算法的Python代码实现:

def binary_search(arr, target):
    left = 0
    right = len(arr) - 1
    
    while left <= right:
        mid = (left + right) // 2
        
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            left = mid + 1
        else:
            right = mid - 1
    
    return -1

使用该算法时,需要传入一个有序的数组 arr 和要查找的目标值 target。函数会返回目标值在数组中的索引,如果目标值不在数组中,则返回 -1。

以下是一个使用示例:

arr = [2, 5, 8, 12, 16, 23, 38, 56, 72, 91]
target = 23

result = binary_search(arr, target)
if result != -1:
    print(f"目标值 {target} 在数组中的索引为 {result}")
else:
    print("目标值不在数组中")

输出:

目标值 23 在数组中的索引为 5

未经允许不得转载 » 本文链接:https://www.117.info/ask/fed45AzsLBQNeDFI.html

推荐文章

  • python语言format怎么使用

    在Python中,可以使用format函数来对字符串进行格式化操作。format函数的基本使用方法如下: 使用位置参数进行格式化: name = 'Alice'
    age = 25
    mess...

  • python如何调用函数的返回值

    在Python中,可以通过将函数的返回值赋给一个变量来调用函数的返回值。例如:
    def add_numbers(num1, num2):
    return num1 + num2
    result = add_n...

  • Python中列表的创建方法有哪些

    Python中列表的创建方法有以下几种: 使用方括号 [] 来创建一个空列表: my_list = [] 使用方括号 [] 来创建一个包含初始元素的列表: my_list = [1, 2, 3, 4, 5...

  • 怎么用python计算100以内偶数之和

    可以使用循环来遍历100以内的数字,然后判断每个数字是否为偶数,如果是偶数,则累加到总和中。下面是一个示例代码:
    sum = 0
    for i in range(1, 101)...

  • python如何改变字体大小

    在Python中,要改变字体大小,需要使用相应的库来进行操作。下面是两种常用的方法: 使用tkinter库来创建图形用户界面,并通过设置字体属性来改变字体大小。可以...

  • python词云图片生成不出来怎么解决

    生成词云图片的过程中出现问题,可能是由于以下几个原因导致的: 缺少必要的库:确保已经正确安装了wordcloud库及其依赖库(如numpy、Pillow等)。可以使用pip命...

  • Python怎么定时执行某个方法

    可以使用time模块中的sleep函数来实现定时执行某个方法。
    首先,导入time模块:
    import time 然后,定义一个方法,表示要定时执行的内容:
    def m...

  • python列表切片的规则是什么

    Python列表切片的规则如下: 切片使用方括号([])来表示,格式为 [start:stop:step]。 start:表示切片的起始位置,默认为0(即列表的第一个元素)。
    stop...