影刀RPA 变量使用进阶:list-dict-自定义对象
title: “影刀RPA 变量使用进阶:list/dict/自定义对象”
date: 2026-06-26
author: 林焱
影刀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.name=name self.department=department self.salary=salary# 创建员工对象emp1=Employee('张三','技术部',10000)emp2=Employee('李四','市场部',8000)# 访问对象属性print(emp1.name)# 输出:张三print(emp1.salary)# 输出:10000# 把对象放入listemployees=[emp1,emp2]# 遍历员工listforempinemployees:print(f'{emp.name}:{emp.department}') - 保存结果:变量
employees
- 代码:
技巧4:list和dict互相转换
【影刀操作】
- 添加【Python】指令
- 代码:
# list转dictemployee_list=['张三','李四','王五']employee_dict={emp:idxforidx,empinenumerate(employee_list)}# 结果:{'张三': 0, '李四': 1, '王五': 2}# dict转listemployee_dict={'张三':'技术部','李四':'市场部'}name_list=list(employee_dict.keys())# ['张三', '李四']dept_list=list(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捕获异常
坑2:key不存在
- 访问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代码,更灵活强大。
