影刀RPA 变量使用进阶:list-dict-自定义对象

📅 2026/7/13 2:24:25 👁️ 阅读次数 📝 编程学习
影刀RPA 变量使用进阶:list-dict-自定义对象

title: “影刀RPA 变量使用进阶:list/dict/自定义对象”
date: 2026-06-26
author: 林焱

影刀RPA 变量使用进阶:list/dict/自定义对象

掌握了基础变量使用后,还需要学会使用list、dict和自定义对象,才能处理复杂的数据结构。

什么情况用什么

适用场景:

  • 需要处理一批相同类型的数据(使用list)
  • 需要通过key-value方式存取数据(使用dict)
  • 需要把相关的数据组织在一起(使用自定义对象)
  • 数据结构复杂,基础变量不够用

不适用场景:

  • 数据很简单,用基础变量就够了
  • 数据量很小,不需要复杂的数据结构

怎么做

技巧1:使用list存储批量数据

list可以存储多个值,通过索引访问。

【影刀操作】

  1. 添加【变量赋值】指令
    • 变量:employee_list
    • 值:['张三', '李四', '王五']
  2. 添加【循环】指令
    • 循环类型:遍历列表
    • 列表:变量employee_list
  3. 在循环内:
    • 添加【写入日志】指令
      • 日志内容:当前循环项

Python方式操作list:

# 创建listemployees=['张三','李四','王五']# 添加元素employees.append('赵六')# 访问元素print(employees[0])# 输出:张三# 遍历listforempinemployees:print(emp)# 获取list长度print(len(employees))

技巧2:使用dict存储键值对

dict可以存储key-value对,通过key快速查找。

【影刀操作】

  1. 添加【变量赋值】指令
    • 变量:employee_dict
    • 值:{'张三': '技术部', '李四': '市场部'}
  2. 添加【Python】指令
    • 代码:
      # 访问dictprint(employee_dict['张三'])# 输出:技术部# 添加键值对employee_dict['赵六']='人事部'# 遍历dictforname,deptinemployee_dict.items():print(f'{name}:{dept}')

技巧3:使用自定义对象

把相关的数据组织在一起,类似于结构体。

【影刀操作】

  1. 添加【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互相转换

【影刀操作】

  1. 添加【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、对象可以互相嵌套,形成复杂的数据结构。

【影刀操作】

  1. 添加【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_listemployee_dict

坑5:内存占用过大

  • 存储大量数据到list或dict,导致内存不足
  • 解决方法:分批处理,或使用生成器

实战技巧

  1. 合理使用数据结构:根据使用场景选择合适的数据结构
  2. 清晰的命名:变量名要能反映数据结构,如employee_list
  3. 添加注释:复杂的数据结构要添加注释说明
  4. 单元测试:对操作数据结构的代码写单元测试,确保正确

总结

掌握list、dict和自定义对象的使用,可以处理更复杂的数据结构。关键是要理解每种数据结构的适用场景,合理使用。对于复杂的数据处理,建议使用Python代码,更灵活强大。