影刀RPA列表操作完全指南:增删改查遍历全搞定
影刀RPA列表操作完全指南增删改查遍历全搞定作者林焱列表List是影刀流程里使用频率最高的数据结构。不管是网页批量抓取的商品列表、Excel里读出的一行数据、还是你自己维护的关键词表——都是列表。列表用不好流程就用不好。这篇专门把列表的所有操作整理清楚。一、列表是什么影刀里的列表就是一组有序的数据集合可以理解为一排格子每个格子存一个值格子编号从 1 开始。[苹果, 香蕉, 橙子, 葡萄] 1 2 3 4 取第2个香蕉二、创建列表方法一直接创建空列表操作路径指令库 → 列表操作 → 创建列表创建出来一个空列表用添加元素往里加数据。方法二指定初始值创建在创建列表指令里填好初始元素[关键词A, 关键词B, 关键词C]方法三由其他指令产生分割文本指令的输出是列表获取网页元素集合的输出是列表读取Excel全部行的输出是二维列表踩坑很多新手以为从网页抓到多个元素后存的是一个文本其实是列表。要用取列表元素来读取不能直接当文本操作。三、读取列表元素操作路径指令库 → 列表操作 → 获取列表元素拼多多店群自动化上架方案参数列表你的列表变量索引从1开始1是第一个元素取最后一个元素索引填-1负数从末尾倒数踩坑索引超出范围会直接报错比如列表只有3个元素你取第5个。建议先用获取列表长度确认范围。四、获取列表长度操作路径指令库 → 列表操作 → 获取列表长度通常在循环前先拿到长度然后控制循环次数。列表长度 获取列表长度(我的列表) 循环 i 从 1 到 列表长度 当前元素 获取列表元素(我的列表, i) 处理(当前元素)五、添加元素1. 末尾添加最常用操作路径指令库 → 列表操作 → 添加元素到末尾结果列表 创建列表() 循环中 添加元素到末尾(结果列表, 当前数据)  // 循环完结果列表里有所有数据2. 指定位置插入操作路径指令库 → 列表操作 → 在指定位置插入元素参数列表、位置从1开始、要插入的值。插入后原有元素后移。六、修改元素操作路径指令库 → 列表操作 → 设置列表元素参数列表、索引、新值七、删除元素1. 按索引删除操作路径指令库 → 列表操作 → 删除指定位置元素删除后列表长度减1后面的元素索引前移。踩坑在循环里删除列表元素会导致索引乱掉。比如你循环到第3个要删它删了之后原来的第4个变成了第3个下次循环跳到第4个就漏掉了。解决方法逆向循环从末尾往前删。2. 清空列表操作路径指令库 → 列表操作 → 清空列表八、遍历列表ForEach影刀的 ForEach 循环是专门为列表设计的每次循环自动取出一个元素。ForEach 元素 in 我的列表 处理(元素) 比用索引循环简洁推荐优先用 ForEach。除非你需要知道当前是第几个索引那才用索引循环。九、列表查找1. 判断元素是否存在操作路径指令库 → 列表操作 → 列表是否包含元素返回true/false是否包含 列表是否包含元素(黑名单列表, 当前用户名) 如果 是否包含 跳过此用户2. 查找元素位置操作路径指令库 → 列表操作 → 查找元素位置TEMU店群如何管理运营返回元素在列表中的索引从1起找不到返回 -1。十、列表排序操作路径指令库 → 列表操作 → 排序参数升序或降序支持数字列表和文本列表。踩坑数字如果存储时是文本类型比如从网页抓来的排序结果会按字典序而不是数值大小。10会排在2前面因为字典序 ‘1’ ‘2’。要先批量转成数字再排序。十一、列表去重影刀没有内置去重指令但可以这样实现原始列表 [A, B, A, C, B, D] 去重列表 创建列表() ForEach 元素 in 原始列表 是否已存在 列表是否包含元素(去重列表, 元素) 如果 非 是否已存在 添加到末尾(去重列表, 元素) // 去重列表 [A, B, C, D]十二、二维列表Excel行数据Excel 读取出来通常是二维列表——列表里的每个元素还是一个列表代表一行。所有行 读取Excel全部行 ForEach 行 in 所有行 姓名 获取列表元素(行, 1) // 第1列 年龄 获取列表元素(行, 2) // 第2列 城市 获取列表元素(行, 3) // 第3列 处理(姓名, 年龄, 城市)十三、实战关键词批量搜索并收集结果场景有一组关键词逐个在百度搜索收集每个词的前5条结果标题。关键词列表 [影刀RPA, RPA教程, 自动化工具, 低代码] 全部结果 创建列表() ForEach 关键词 in 关键词列表 打开百度输入关键词搜索 结果标题列表 获取前5条标题 ForEach 标题 in 结果标题列表 记录 关键词 | 标题 添加到末尾(全部结果, 记录) 写入Excel(全部结果)这是嵌套列表操作的典型写法外层循环关键词内层循环每页结果。十四、常见错误错误原因解决索引越界取的索引比列表长度大先获取长度做判断循环删除后索引乱正向循环中删除元素改为逆向循环排序结果不对数字存储为文本类型先批量转数字ForEach 里修改列表遍历中修改了被遍历的列表遍历时只读修改放循环外或用临时列表列表操作说难不难核心就这些。新手最容易翻车的是遍历时修改和索引从1开始——记住这两条少踩一半的坑。作者林焱