enumerate
enumerate
enumerate , Python 内置的 内置函数 ,作用是 “遍历可迭代对象时,同时获取「索引值」和「元素值」”。
普通 for 循环只能拿到列表里的元素,enumerate 能同时拿到 “元素的位置编号” 和 “元素本身”,避免手动维护索引变量
(比如 i = 0; for camera in list: ...; i += 1)
# 假设 Config.CAMERA['camera']['camera_list'] 是这样的列表
camera_list = [{"ip": "192.168.1.101"}, {"ip": "192.168.1.102"}]for index, camera in enumerate(camera_list):print(index, camera)
# 输出:
# 0 {'ip': '192.168.1.101'}
# 1 {'ip': '192.168.1.102'}
类比 c++
enumerate就相当于c++的pair ,在一个vector中存一个pair ,范围for拿到pair ,再从pair中获取元素
vector<Camera> camera_list = {cam1, cam2, cam3};
// 模拟 enumerate:手动打包索引 + 元素成 pair
vector<pair<int, Camera>> enum_list;
for (int i=0; i<camera_list.size(); i++) {
enum_list.emplace_back(i, camera_list[i]);
}
// 范围 for 遍历 pair
for (auto& [index, cam] : enum_list) {
cout << index << " " << cam << endl;
}
