
title: “影刀RPA 变量使用进阶list/dict/自定义对象”date: 2026-06-26author: 林焱影刀RPA 变量使用进阶list/dict/自定义对象掌握了基础变量使用后还需要学会使用list、dict和自定义对象才能处理复杂的数据结构。什么情况用什么适用场景需要处理一批相同类型的数据使用list需要通过key-value方式存取数据使用dict需要把相关的数据组织在一起使用自定义对象数据结构复杂基础变量不够用不适用场景数据很简单用基础变量就够了数据量很小不需要复杂的数据结构怎么做技巧1使用list存储批量数据list可以存储多个值通过索引访问。【影刀操作】添加【变量赋值】指令变量employee_list值[张三, 李四, 王五]添加【循环】指令循环类型遍历列表列表变量employee_list在循环内添加【写入日志】指令日志内容当前循环项Python方式操作list# 创建listemployees[张三,李四,王五]# 添加元素employees.append(赵六)# 访问元素print(employees[0])# 输出张三# 遍历listforempinemployees:print(emp)# 获取list长度print(len(employees))技巧2使用dict存储键值对dict可以存储key-value对通过key快速查找。【影刀操作】添加【变量赋值】指令变量employee_dict值{张三: 技术部, 李四: 市场部}添加【Python】指令代码# 访问dictprint(employee_dict[张三])# 输出技术部# 添加键值对employee_dict[赵六]人事部# 遍历dictforname,deptinemployee_dict.items():print(f{name}:{dept})技巧3使用自定义对象把相关的数据组织在一起类似于结构体。【影刀操作】添加【Python】指令代码# 定义员工类classEmployee:def__init__(self,name,department,salary):self.namename self.departmentdepartment self.salarysalary# 创建员工对象emp1Employee(张三,技术部,10000)emp2Employee(李四,市场部,8000)# 访问对象属性print(emp1.name)# 输出张三print(emp1.salary)# 输出10000# 把对象放入listemployees[emp1,emp2]# 遍历员工listforempinemployees:print(f{emp.name}:{emp.department})保存结果变量employees技巧4list和dict互相转换【影刀操作】添加【Python】指令代码# list转dictemployee_list[张三,李四,王五]employee_dict{emp:idxforidx,empinenumerate(employee_list)}# 结果{张三: 0, 李四: 1, 王五: 2}# dict转listemployee_dict{张三:技术部,李四:市场部}name_listlist(employee_dict.keys())# [张三, 李四]dept_listlist(employee_dict.values())# [技术部, 市场部]技巧5复杂数据结构嵌套list、dict、对象可以互相嵌套形成复杂的数据结构。【影刀操作】添加【Python】指令代码# list嵌套dictemployees[{name:张三,dept:技术部,skills:[Python,SQL]},{name:李四,dept:市场部,skills:[Excel,PPT]}]# 访问嵌套数据print(employees[0][name])# 输出张三print(employees[0][skills][0])# 输出Python# dict嵌套listdept_employees{技术部:[张三,赵六],市场部:[李四,钱七]}# 访问嵌套数据print(dept_employees[技术部][0])# 输出张三有什么坑坑1索引越界访问list时索引超出范围解决方法访问前检查索引是否有效或使用try-except捕获异常坑2key不存在访问dict时key不存在解决方法使用dict.get(key, default)方法或先检查key是否存在坑3对象属性不存在访问对象属性时属性不存在解决方法使用hasattr(obj, attr_name)检查属性是否存在坑4数据结构混淆把list当dict用或把dict当list用解决方法清晰的命名如employee_list、employee_dict坑5内存占用过大存储大量数据到list或dict导致内存不足解决方法分批处理或使用生成器实战技巧合理使用数据结构根据使用场景选择合适的数据结构清晰的命名变量名要能反映数据结构如employee_list添加注释复杂的数据结构要添加注释说明单元测试对操作数据结构的代码写单元测试确保正确总结掌握list、dict和自定义对象的使用可以处理更复杂的数据结构。关键是要理解每种数据结构的适用场景合理使用。对于复杂的数据处理建议使用Python代码更灵活强大。