捷径社区出品的捷径小课堂连载于公众号「PriceTag发现好应用」,欢迎关注。
关于本节课
前排预告:今天我们将完成一个为列表去除重复项目的练习(很短,10 个操作)。
你可以在任何时候翻到最后下载本次课程捷径的完整版本。
制作捷径
假如我们有这样的一个列表:1, 2, 3, 2, 4,我们要怎么找到重复的项目呢?
如果你想,这还要找?不就是 2 嘛。恭喜你答对了!但你是怎么找到它的呢?
整理思路
如果我们放慢刚才的思考过程,从左往右看,如果下一个数字在之前已经出现过了,那么它就是重复的。
把它转化成具体的步骤:
定义一个结果变量,它一开始是空的
-
对给定的列表,对每一项重复
- 如果结果中包含这一项,什么也不做
- 否则把这一项加入到结果中
设定变量
「设定变量」就像数学课上的「x = 5」一样,稍微不同的是,捷径中的变量不但可以是数字,还可以是文本、图片甚至网页。
我们先通过「无」和「设定变量」,来定义一个空的结果变量,并将这个变量的名字命名为「不含重复项目的列表」。
再通过「列表」来定义一个包含重复项目的列表,作为我们的输入内容。
处理每一项
对于数组,我们可以使用「为每个项目重复」操作来处理。
对每一项,我们需要判断它是否已经被结果包含。因此我们再选择「如果」操作,并把它拖到在「为每个项目重复」和「结束重复」之间。
接下来我们要实现「如果结果中包含这一项」的判断了。
首先,添加「获取变量」操作并将它放在「为每个项目重复」和「如果」之前。
然后「选取变量」,并选择「不含重复项目的列表」作为「如果」的判断对象。
接下来,确认「如果」的「输入」选择的是「包含」,并将值选为「重复项目」:
这样我们就完成了判断。
因为当结果中已经包含当前项目的时候,什么也不做,所以「如果」和「否则」之间什么也不用修改。
接下来实现「把这一项加入到结果中」。
首先,我们再次通过「获取变量」,获得「重复项目」:
在通过「添加到变量」,将「重复项目」添加到「不含重复内容的列表」中:
这样我们就完成了为列表去除重复项目的所有操作。
查看结果
最后,将我们最爱的「显示结果」操作添加到列表,保证它在「结束重复」的下面。并将它的内容设置为「不含重复内容的列表」。
运行捷径,Hooray~我们得到了一个不重复的列表。
小结
虽然「为列表去除重复」的方法我早就学过,但在捷径中使用操作来实现它,并不简单。
本次课程的内容并非我的原创,在这里我想和大家分享我是如何找到这个解决方法的。
首先我尝试搜索:「shortcut remove duplicate」,由于捷径的英文「Shortcut」和「快捷键」同名,而删除重复项目的操作又太常见了,搜索结果几乎都是如何在 Excel 中使用快捷键删除重复的行,没有任何和捷径相关的内容。
接着我想到,Shortcut 的前身是 Workflow,所以我改为搜索:「workflow remove duplicate」,第一个就是我需要的答案。
所以我强烈建议大家遇到问题时使用「workflow + 关键词」搜索试试。
课后练习
恭喜你已经完成了本节小练习,不妨回到上一课去,为「制作一个获取网页中应用的捷径」加上「去除重复」功能吧!
下载
捷径交流
微信群:微信添加好友「PriceTagBot」回复「捷径」自动加入
Telegram 群:https://t.me/sharecuts
微信公众号:PriceTag发现好应用