在Python中,查找方法通常指的是查找数据结构中的元素或对象的属性。以下是一些常用的查找方法:
线性查找(顺序查找)
时间复杂度为O(n)。
逐个遍历数据结构,直到找到目标值。
def linear_search(data, num):
for index, val in enumerate(data):
if val == num:
return index
return None
二分查找
适用于有序列表。
时间复杂度为O(log n)。
通过不断将搜索区间减半来定位目标值。
def binary_search(data, num):
left = 0
right = len(data) - 1
while left <= right:
mid = (left + right) // 2
if data[mid] == num:
return mid
elif data[mid] < num:
left = mid + 1
else:
right = mid - 1
return None
查找对象的属性
使用`getattr()`函数获取对象的属性值。
使用`hasattr()`函数检查对象是否具有指定的属性。
使用`setattr()`函数设置对象的属性值。
class Student:
def __init__(self):
self.st_name = 'Amit'
self.st_age = 18
self.st_marks = 99
创建对象
st1 = Student()
使用 getattr 获取属性值
print("Name =", getattr(st1, 'st_name'))
使用 hasattr 检查属性是否存在
print("Has age attribute?", hasattr(st1, 'st_age'))
使用 setattr 设置属性值
setattr(st1, 'st_age', 20)
print("Updated age =", getattr(st1, 'st_age'))
以上方法可以帮助你在Python中查找数据或对象的属性。请根据你的具体需求选择合适的查找方法